Hmm. I'm having a lot of trouble figuring out how to use 'represent'.
Let's try a different approach. Let's say I want to do this:
db_mydb.my_table.location.represent = lambda "something")
And the "something" I want to output would be XML('<span
style="color:#EB0F0F">' + row.location + '</span>')
Now, how would I create the lambda function to do this and then, how would
I reference the .represent attribute:
db_mydb.my_table.location.represent(?)
to retrieve the value that I want?
On Thursday, July 18, 2013 8:57:56 AM UTC-4, Richard wrote:
>
> Ok, I see 2 possibility why it not working. 1) Cause you use TABLE(), you
> should try SQLTABLE or SQLFORM.gris. 2) LOAD(), since component strip all
> the style it may be possible that you can't see your stuff.
>
> You can try to just embed your table in a view without LOAD() like that
> {{=table}} see what happen.
>
> Then try SQLFORM.grid or SQLTABLE (that tend to be deprecated, but still
> help in many situation where SQLFORM.gris lack of flexibility).
>
> Richard
>
>
> On Wed, Jul 17, 2013 at 11:46 PM, Woody <[email protected]
> <javascript:>>wrote:
>
>> Ok, here's the format for my select and table creation:
>>
>> In the controller:
>>
>> rows = db_mydb(db_mydb.my_table).select()
>> fields = db_mydb.my_table.fields
>> headers = [list of headers]
>>
>> table = TABLE(THEAD(TR(*[B(header) for header in headers])),
>> TBODY(*[TR(*[TD(row[field]) for field in fields]) \
>> for row in rows]))
>> table["_class"] = "table table-striped table-bordered table-condensed"
>> return dict(table=table)
>>
>> In the view:
>>
>> <div id="table" >
>> {{=LOAD('default','my_table_function',ajax=True, target='table')}}
>> </div>
>>
>>
>>
>> On Wednesday, July 17, 2013 11:10:35 PM UTC-4, Richard wrote:
>>
>>> Can you show us you select and the way you make your table and view?
>>>
>>> Richard
>>>
>>>
>>> On Wed, Jul 17, 2013 at 11:02 PM, Woody <[email protected]> wrote:
>>>
>>>> I don't see 'This is a test'. The table looks exactly the same as it
>>>> does without the represent statement.
>>>>
>>>> It doesn't matter what I put in the represent statement, If I have:
>>>>
>>>> db_mydb.my_table.location.**repr**esent=lambda location,row:
>>>> XML(T('This is a test'))
>>>>
>>>> 'This is a test' doesn't appear in the table.
>>>>
>>>> It also doesn't work if I put:
>>>>
>>>> db_mydb.my_table.location.**repr**esent=lambda location,row:T('This is
>>>> a test').
>>>>
>>>> No matter what I put in the represent statement, my table looks the
>>>> same. I'm obviously doing something wrong, but I can't figure out what it
>>>> is.
>>>>
>>>>
>>>> On Wednesday, July 17, 2013 7:34:13 PM UTC-4, Richard wrote:
>>>>
>>>>> I don't understand... Do you see : This is a test ?? You don't need
>>>>> XML() for use a simple T(), XML serve to escape special caracter and
>>>>> accentuated one, at least that my understanding. And of course there will
>>>>> be not change (all your value will be represent with : This is a test,
>>>>> since you don't take care of your location in your lambda.
>>>>>
>>>>> I never try to pass html tag in a represent except a A() helper, but I
>>>>> don't why it would not work.
>>>>>
>>>>> You don't really need XML in the code above (virtual field), try this :
>>>>>
>>>>> Field.Virtual('description_**for****matted', lambda row:
>>>>> SPAN(row.description, _style="color:#EB0F0F;"),
>>>>>
>>>>> or
>>>>>
>>>>> Field.Virtual('description_**for****matted', lambda row:
>>>>> TAG.span(row.description, _style="color:#EB0F0F;"),
>>>>>
>>>>> In case there is no SPAN helper (don't remember if there is SPAN()
>>>>> helper).
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>>> On Wed, Jul 17, 2013 at 5:55 PM, Woody <[email protected]> wrote:
>>>>>
>>>>>> 'represent' is not working for me. Here's my code:
>>>>>>
>>>>>> -----------------------
>>>>>> db_mydb.define_table('my_**table**',
>>>>>> Field('ROWID', 'id'),
>>>>>> Field('location', 'string'),
>>>>>> Field('other_field', 'string'),
>>>>>> migrate=False)
>>>>>>
>>>>>> db_mydb.my_table.location.**repr**esent=lambda location,row:
>>>>>> XML(T('This is a test'))
>>>>>> ------------------------
>>>>>>
>>>>>> Doesn't matter what I put in the represent declaration, the data
>>>>>> displayed in the table doesn't change.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wednesday, July 17, 2013 3:34:21 PM UTC-4, Richard wrote:
>>>>>>
>>>>>>> represent!!
>>>>>>>
>>>>>>> represent=lambda value, row: XML(...) if value is not None else
>>>>>>> T('N/A')
>>>>>>>
>>>>>>> Richard
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jul 17, 2013 at 3:24 PM, Woody <[email protected]> wrote:
>>>>>>>
>>>>>>>> I have a table definition that uses virtual fields with XML:
>>>>>>>>
>>>>>>>> db_mydb.define_table('my_**table****',
>>>>>>>> Field('ROWID', 'id'),
>>>>>>>> Field('location', 'string'),
>>>>>>>> Field('description', 'string', required=False),
>>>>>>>> Field.Virtual('description_**for****matted',
>>>>>>>> lambda row: XML('<span style="color:#EB0F0F">' + row.description +
>>>>>>>> '</span>'),
>>>>>>>> etc........
>>>>>>>>
>>>>>>>> So, using Field.Virtual, I can pass XML with HTML tags to a table.
>>>>>>>> Is there a way to do this without having to create a virtual field?
>>>>>>>> In
>>>>>>>> other words, I'd like to be able to add HTML formatting in a normal
>>>>>>>> field
>>>>>>>> definition, using XML or helper functions.
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> ---
>>>>>>>> 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+un...@**googlegroups.com.
>>>>>>>>
>>>>>>>> For more options, visit https://groups.google.com/**grou****
>>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>
>>>>>> ---
>>>>>> 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+un...@**googlegroups.com.
>>>>>> For more options, visit
>>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>>> .
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>
>>>> ---
>>>> 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+un...@**googlegroups.com.
>>>> For more options, visit
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>
>>>>
>>>>
>>>
>>> --
>>
>> ---
>> 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] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>
--
---
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/groups/opt_out.