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.

Reply via email to