There is a shortcoming in the smartgrid code where if an argument is a 
dictionary, it expects each of the keys to be table names -- it then 
attempts to extract the item matching the current table name and pass that 
as the relevant argument to SQLFORM.grid. Of course, this approach breaks 
down when the argument itself is intended to be a dictionary. The only 
workaround is to provide a dictionary that includes a copy of your 
export_classes dict for every table you want to include in smartgrid:

export_classes = dict(json=False, html=False, tsv=False, xml=False,
                      csv_with_hidden_cols=False, tsv_with_hidden_cols=False
)
grid = SQLFORM.smartgrid(..., exportclasses=dict(table1=export_classes, 
table2=export_classes, ...))

Or you could do something like this:

class SingleItemDict(dict):
    def __init__(self, value):
        self.value = value
    
    def __getitem__(self, key):
        return self.value

    def __contains__(self, key):
        return True

export_classes = SingleItemDict(dict(json=False, html=False, tsv=False, xml=
False,                                                                     
 csv_with_hidden_cols=False, tsv_with_hidden_cols=False))
grid = SQLFORM.smartgrid(..., exportclasses=export_classes)

Anthony


On Tuesday, November 14, 2017 at 12:57:25 AM UTC-5, Peter wrote:
>
> I need only csv export method from  SQLFORM.smartgrid so I want to disable 
> default export methods. Seems to me that 
> SQLFORM.smartgrid(exportclasses=dict(json=False)) doesn't work in newer 
> versions of web2py (2.14.6). 
>
> My code:
>
> export_classes = dict(json=False, html=False,
>                       tsv=False, xml=False, csv_with_hidden_cols=False,
>                       tsv_with_hidden_cols=False)
>
> table = SQLFORM.smartgrid(db.tableexample, user_signature=False, 
> showbuttontext=False,
>             links=links, linked_tables=[],
>             editable = True, deletable = True,
>             exportclasses=export_classes)
>
>
>
>
> Am I  wrong?
>
> In version 2.10.3 this works just fine.
>

-- 
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