The post you linked to is incorrect -- if you specify exportclasses, the 
allowable values are False, an export class, or a tuple containing an 
export class and its label. You cannot use values of True, and there is no 
need to use True values because any built-in export class will 
automatically be included unless explicitly set to False via exportclasses.

Anthony

On Wednesday, August 2, 2017 at 10:34:05 AM UTC-4, Johann Spies wrote:
>
> Web2py Version 2.15.2-stable+timestamp.2017.07.19.12.18.41 
>
> I found a clearer explanation than I could get in the Book on how to 
> pass exportclasses to a grid: 
>
> http://rootpy.com/Export-in-SQLFORM-grid/ 
>
> and it worked as far as the buttons are concerned. 
>
> But then the export does not work. 
>
> Here is code that can reproduce it: 
>
> With this code, all the forms of export works except tsv and 
> tsv_with_hidden_cols: 
> Model: 
>
> db.define_table("xx", 
>                 Field("x1"), 
>                 Field("x2")) 
>
> Controller: 
>
> def index(): 
>       grid = SQLFORM.grid(db.xx,csv = True) 
>     return dict(grid = grid) 
>
> Error for tsv-export: 
> Traceback (most recent call last): 
>   File "/home/js/web2py/gluon/restricted.py", line 219, in restricted 
>     exec(ccode, environment) 
>   File "/home/js/web2py/applications/toets/controllers/default.py", 
> line 64, in <module> 
>   File "/home/js/web2py/gluon/globals.py", line 409, in <lambda> 
>     self._caller = lambda f: f() 
>   File "/home/js/web2py/applications/toets/controllers/default.py", 
> line 13, in index 
>     grid = SQLFORM.grid(db.xx,csv = True) 
>   File "/home/js/web2py/gluon/sqlhtml.py", line 2594, in grid 
>     raise HTTP(200, oExp.export(), **response.headers) 
>   File "/home/js/web2py/gluon/sqlhtml.py", line 3615, in export 
>     records = self.represented() 
>   File "/home/js/web2py/gluon/sqlhtml.py", line 3566, in represented 
>     field = self.rows.db[t][f] 
>   File "/home/js/web2py/gluon/packages/dal/pydal/base.py", line 663, 
> in __getitem__ 
>     return self.__getattr__(str(key)) 
>   File "/home/js/web2py/gluon/packages/dal/pydal/base.py", line 670, 
> in __getattr__ 
>     return BasicStorage.__getattribute__(self, key) 
> AttributeError: 'DAL' object has no attribute '"xx"' 
>
> And with the following code nothing the csv, tsv and html buttens shows 
> and when clicked nothing works: 
>
> def index(): 
>     export_classes = dict(csv=True, json=False, html=True, 
>                           tsv=True, xml=False, csv_with_hidden_cols=False, 
>                           tsv_with_hidden_cols=False) 
>     grid = SQLFORM.grid(db.xx,  exportclasses = export_classes) 
>     return dict(grid = grid) 
>
> Traceback (most recent call last): 
>   File "/home/js/web2py/gluon/restricted.py", line 219, in restricted 
>     exec(ccode, environment) 
>   File "/home/js/web2py/applications/toets/controllers/default.py", 
> line 64, in <module> 
>   File "/home/js/web2py/gluon/globals.py", line 409, in <lambda> 
>     self._caller = lambda f: f() 
>   File "/home/js/web2py/applications/toets/controllers/default.py", 
> line 22, in index 
>     exportclasses = export_classes) 
>   File "/home/js/web2py/gluon/sqlhtml.py", line 2587, in grid 
>     oExp = clazz(rows) 
> TypeError: 'bool' object is not callable 
>
> Why the error? 
> A bug? 
>
> Regards 
> Johann 
>
>
> -- 
> Because experiencing your loyal love is better than life itself, 
> my lips will praise you.  (Psalm 63:3) 
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to