worked! thank you Anthony/Dave. On Monday, May 9, 2016 at 6:13:29 PM UTC-4, Dave S wrote: > > On Monday, May 9, 2016 at 1:34:31 PM UTC-7, rajjm...@gmail.com wrote: >> >> Interesting! >> >> So, if I do: >> >> a = my_table.render() >> >> I get >> >> a is <bound method Rows.render of <Rows (10)>> >> >> How do I now access individual elements? like Rows[0], >> Rows[1]..Rows[10].etc? because a[0] doesn't work. >> >> > It appears that you have an iterator. Fromm the book: > > > f you don't specify an index, you get a generator to iterate over all the >> rows: >> for row in rows.render(): >> print row.myfield > > > <URL: > http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer?search=render#Rendering-rows-using-represent > > > > /dps > > > > > >> >> >> On Monday, May 9, 2016 at 3:53:48 PM UTC-4, Anthony wrote: >>> >>> This has nothing to do with the IS_IN_SET validator, which simply does >>> validation in your code (typically, it would also generate an HTML select >>> widget in forms, but not in your code, as you have explicitly specified >>> your own form widget). It also has nothing to do with the field's form >>> widget, as that only controls the display in forms. >>> >>> Rather, it is related to how you represent list values in your view >>> code. Keep in mind that "days" is a "list:string" field, so it stores >>> lists. The resulting value of the field in each Row is a Python list. In a >>> view, if you do something like: >>> >>> {{=some_python_list}} >>> >>> you will get a display like the one you are seeing. If you want an >>> alternative display, it is your responsibility to produce it as you see >>> fit, depending on the nature of your UI. >>> >>> In read-only forms and the grid, list:-type fields are displayed as >>> comma-separated lists via their default "represent" attribute. However, if >>> you are just inserting a list value in a view via {{=row.my_list_field}}, >>> the "represent" attribute is not used. In that case, you need to use >>> Rows.render() to generate each Row object, which will automatically apply >>> the "represent" attributes of each field. >>> >>> Anthony >>> >>> On Monday, May 9, 2016 at 12:06:49 PM UTC-4, rajjm...@gmail.com wrote: >>>> >>>> day_str = ('Sun', 'Mon', 'Tues', 'wed') >>>> >>>> Field('days', type='list:string',,requires=IS_IN_SET ((day_str), >>>> multiple=True),widget=lambda field, value: >>>> SQLFORM.widgets.multiple.widget(field, value, size=3, style='divs', >>>> label=True)), >>>> >>>> /view >>>> {{=my_table.days}} >>>> >>>> One example >>>> >>>> >>>> On Monday, May 9, 2016 at 11:35:20 AM UTC-4, Anthony wrote: >>>>> >>>>> Please show your code. >>>>> >>>>> On Sunday, May 8, 2016 at 7:15:22 PM UTC-4, rajjm...@gmail.com wrote: >>>>>> >>>>>> What would be the most efficient way to take out html tag for >>>>>> IS_IN_SET (str) which outputs >>>>>> >>>>>> ['my string'] >>>>>> >>>>>> >>>>>> Want to display. >>>>>> >>>>>> >>>>>> my string >>>>>> >>>>>> >>>>>> Is re.compile and re.sub are the only options? XML, sanitize =True >>>>>> doesn't work. Thanks in advance. >>>>>> >>>>>>
-- 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.