Let's say I have table with two integer fields and one virtual field:
db.define_table('t1',
Field('aa','integer'),
Field('bb','integer'),
Field.Virtual('ab', lambda row: row.t1.aa+row.t1.bb),
)
The SQLFORM.grid works fine:
def ab():
grid=SQLFORM.grid(db.t1,
fields=(db.t1.aa, db.t1.bb, db.t1.ab),
user_signature=False,
)
return locals()
But I do not want to show the column bb and I tried:
def ab():
grid=SQLFORM.grid(db.t1,
fields=(db.t1.aa, db.t1.ab),
user_signature=False,
)
return locals()
and - of course - now I get a "key error", because the virtual field cannot
access db.t1.bb.
I understand, that the fields parameter decides, which columns should be
displayed AND which columns could be used in expressions, e.g. in a
lambda-function. But these columns could be different.
My question:
How can I use both columns in a function, but without displaying both
columns in the grid?
Or simple: is it possible to suppress a column in the grid which has been
selected in the fields parameter?
Regards Martin
--
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.