Well, I have to eat my tuple claims. And they are tasty.
This works and renders the strings inside TH elements::
head = THEAD([['Date','Name','Amount','Term']])
As does this:
head = THEAD([('Date','Name','Amount','Term')])
But (no surprise) these do not:
head = THEAD(['Date','Name','Amount','Term']) # need another wrapper
of list
head = THEAD([[('Date','Name','Amount','Term')]]) # too many wrappers
So you are right again, Sir Anthony -- any list-like object inside a list
will evoke the magic TH treatment.
-- Joe
P.S. Still a heck of a useful trick, and not altogether obvious from the
book.
On Wednesday, September 10, 2014 4:33:21 PM UTC-7, Anthony wrote:
>
> Well, the code I pasted definitely works -- copied the code and output
> directly from the shell (also tried in an app). Can you show your code
> where a tuple worked but a list did not? Also, please show the code that
> wraps the cells in TD's instead of TH's.
>
> Anthony
>
> On Wednesday, September 10, 2014 7:16:18 PM UTC-4, Joe Barnhart wrote:
>>
>> Actually, no. Wrapping a list inside a list does NOT work. In that
>> case, the inside list is all "joined" together as a single string. Only a
>> tuple inside a list works. I tried everything, only the tuple in the list
>> worked.
>>
>> On Wednesday, September 10, 2014 5:04:54 AM UTC-7, Anthony wrote:
>>>
>>> Can you show an example of where it wraps the items in a TD? I think
>>> that would only happen if you explicitly put items into TR's, in which case
>>> the TR will control what wraps its components.
>>>
>>> Also, you don't need a tuple -- can just be a list inside a list:
>>>
>>> print THEAD([['a', 'b']])
>>>
>>> <thead><tr><th>a</th><th>b</th></tr></thead>
>>>
>>>
>>> Anthony
>>>
>>> On Wednesday, September 10, 2014 3:32:24 AM UTC-4, Joe Barnhart wrote:
>>>>
>>>> I often use the web2py helpers to build my tables on the fly. I've
>>>> always thought it was strange that my THEAD() helper seemed to prefer
>>>> wrapping its components inside a TD element instead of a TH. I mean, why
>>>> not a TH? We already know its in a header.
>>>>
>>>> Playing around, I found this pattern works perfectly to wrap its
>>>> members in TH instead of TD:
>>>>
>>>> THEAD( [ ('head1', 'head2', etc...) ] )
>>>>
>>>> So if I create a TUPLE (not a list), wrap it in a LIST, and then hand
>>>> it to THEAD, it creates TH elements inside the THEAD. Every other
>>>> construction I've tried returns TD inside instead.
>>>>
>>>> -- Joe
>>>>
>>>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.