[web2py] Re: SQLFORM.grid: represent a field with IS_IN_SET validator by its label instead of its value

2018-04-21 Thread xelomac
I've found a solution:

rows = db(db[table].id == id).select()
rendered_row = rows.render(0, fields=[db[table][column]])
value = rendered_row[column]

On Saturday, April 21, 2018 at 12:31:49 PM UTC+2, xelomac wrote:
>
> Thank you Anthony. Works perfectly in a SQLFORM.grid. The values get 
> displayed as expected. 
>
> But outside of the grid for something like this
>
> persons = db(db[table].id == 1).select()
> person=persons[0][column]
>
> the stored values get displayed not its representation. How can I get the 
> representation of the stored value here?
>
> On Monday, April 16, 2018 at 1:55:18 AM UTC+2, Anthony wrote:
>>
>> The validator controls the widget used in forms but not the format in the 
>> grid -- for the latter, use the "represent" attribute:
>>
>> represent=lambda v, r: GENDER[v]
>>
>> Anthony
>>
>> On Sunday, April 15, 2018 at 4:47:27 AM UTC-4, xelomac wrote:
>>>
>>> Consider the following example.
>>>
>>> Model:
>>>
>>> GENDER = {"male": T("Mr.", lazy=False),
>>> "female": T("Ms.", lazy=False)}
>>>
>>> db.define_table('person',
>>> Field('gender', label = T('Salutation'), requires=IS_IN_SET(GENDER)),
>>> Field('first_name', label = T('First Name'),
>>> Field('last_name', label = T('Last Name')),
>>> format = '%(last_name)s')
>>>
>>> In a SQLFORM.grid I want to represent the field gender by its translated 
>>> label not by its value. How can I achieve this?
>>>
>>>

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


[web2py] Re: SQLFORM.grid: represent a field with IS_IN_SET validator by its label instead of its value

2018-04-21 Thread xelomac
Thank you Anthony. Works perfectly in a SQLFORM.grid. The values get 
displayed as expected. 

But outside of the grid for something like this

persons = db(db[table].id == 1).select()
person=persons[0][column]

the stored values get displayed not its representation. How can I get the 
representation of the stored value here?

On Monday, April 16, 2018 at 1:55:18 AM UTC+2, Anthony wrote:
>
> The validator controls the widget used in forms but not the format in the 
> grid -- for the latter, use the "represent" attribute:
>
> represent=lambda v, r: GENDER[v]
>
> Anthony
>
> On Sunday, April 15, 2018 at 4:47:27 AM UTC-4, xelomac wrote:
>>
>> Consider the following example.
>>
>> Model:
>>
>> GENDER = {"male": T("Mr.", lazy=False),
>> "female": T("Ms.", lazy=False)}
>>
>> db.define_table('person',
>> Field('gender', label = T('Salutation'), requires=IS_IN_SET(GENDER)),
>> Field('first_name', label = T('First Name'),
>> Field('last_name', label = T('Last Name')),
>> format = '%(last_name)s')
>>
>> In a SQLFORM.grid I want to represent the field gender by its translated 
>> label not by its value. How can I achieve this?
>>
>>

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


[web2py] Re: SQLFORM.grid: represent a field with IS_IN_SET validator by its label instead of its value

2018-04-15 Thread Anthony
The validator controls the widget used in forms but no the format in the 
grid -- for the latter, use the "represent" attribute:

represent=lambda v, r: GENDER[v]

Anthony

On Sunday, April 15, 2018 at 4:47:27 AM UTC-4, xelomac wrote:
>
> Consider the following example.
>
> Model:
>
> GENDER = {"male": T("Mr.", lazy=False),
> "female": T("Ms.", lazy=False)}
>
> db.define_table('person',
> Field('gender', label = T('Salutation'), requires=IS_IN_SET(GENDER)),
> Field('first_name', label = T('First Name'),
> Field('last_name', label = T('Last Name')),
> format = '%(last_name)s')
>
> In a SQLFORM.grid I want to represent the field gender by its translated 
> label not by its value. How can I achieve this?
>
>

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