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 [email protected].
For more options, visit https://groups.google.com/d/optout.