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.

Reply via email to