Anthony, Thank you :-) Kiran
On Thursday, March 20, 2014 1:51:15 AM UTC+5:30, Anthony wrote: > > def mygrid(): > if 'edit' in request.args: > db.x.p.writable = False > db.x.r.readable = db.x.r.writable = False > else: > db.x.p.readable = db.x.q.readable = db.x.r.readable = False > return dict(grid=SQLFORM.grid(db.x, ...) > > > On Wednesday, March 19, 2014 3:41:09 PM UTC-4, Kiran Subbaraman wrote: > >> Thanks, that makes sense. >> What am trying to do is this... >> >> *model* >> db.define_table('x', >> Field('p', type='string'), >> Field('q', type='string'), >> Field('r', type='text') >> ) >> >> This will be displayed in a SQLFORM.grid, with the following caveats: >> >> 1. I do not want to see columns for p, q, and r, but rather format >> the output in such way that p q r are concatenated.Therefore the grid >> will >> look like this: >> |--p+q+r value--|--row buttons--| >> 2. When I edit the row, the edit form should display: >> p (in readonly mode) >> q (in read/write mode) >> r (is not displayed) >> >> >> - For caveat 1, I achieved that with the grid's links={} option to >> display what I need, in the format I needed it. Something like this links >> = >> [{'header':'Custom stuff', 'body':lambda row: .... }]. This also means >> that >> I set all the fields to readable=False. >> - For caveat 2, I was trying the stuff mentioned in my original post >> >> >> >> >> >> >> >> On Thursday, March 20, 2014 12:51:12 AM UTC+5:30, Anthony wrote: >>> >>> The label is used to label an entire column, so it wouldn't make sense >>> to calculate a different label for every record. What exactly are you >>> trying to do? >>> >>> On Wednesday, March 19, 2014 2:54:22 PM UTC-4, Kiran Subbaraman wrote: >>>> >>>> Hello, >>>> I am creating a SQLFORM.grid(), and in the update-form for that grid, I >>>> want to display the label value by computing it. >>>> >>>> Basically, I have this: >>>> >>>> model: >>>> db.define_table('x', >>>> Field('p', type='string'), >>>> Field('q', type='string') >>>> ) >>>> >>>> >>>> controller: >>>> .... >>>> if blah: >>>> db.x.q.label = lambda row: row.p >>>> ..... >>>> >>>> >>>> The label is displayed like this '<function <lambda> at 0x0955FF30>' >>>> Not sure if this is supported, or I need to change this code? >>>> Any help? >>>> >>>> Thanks, >>>> Kiran >>>> >>> -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.