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 <myl...@woodring.us > <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 <myl...@woodring.us> 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 <myl...@woodring.us> 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 <myl...@woodring.us> 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 web2py+un...@googlegroups.com <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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.