The function looks interesting, but I didnt understand how to create
the cols var.

def mytable(rows, cols):
    return  TABLE(*[TR(*[TD(row[c]) for c in cols]) for row in rows])

I would be grateful for an example how it might work.

I did have this other idea to include an extra column, but I imagine
that it's not so elegant as above.

rows = db(db.test.id>0).select()
extras = list()
for row in rows: extras.append('whatever')

for row,extra in zip(rows,extras):
    print TR(TD(row.id),TD(extra))

-D

On Nov 9, 6:33 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> I see two options:
>
> 1) use
>
>     db.table.field.represent = lambda value: DIV(value)
>
> and give any representation you want to the field value.
>
> 2) If this does not work make your own SQLTABLE helper:
>
> def mytable(rows, cols):
>     return  TABLE(*[TR(*[TD(row[c]) for c in cols]) for row in rows)
>
> On Nov 9, 11:36 am, villas <villa...@gmail.com> wrote:
>
> > I want to customize the result of SQLTABLE so that it can make me a
> > nice table without lines and lines of code in my view file.  To
> > achieve that,  I need for example to:
>
> > 1) Add columns to hold icons and links and extra stuff.
> > 2) Customize the rows, e.g.  links which depend on content,  different
> > icons etc
>
> > After giving it some thought,  I think I should leave SQLTABLE alone
> > and concentrate on 'improving' the rows object so that it contains
> > everything I want before passing it to SQLTABLE.
>
> > To do 1) I can simply add a column to the rows object. How can I best
> > do that?
> > To do 2) I could iterate the rows object and make changes.
>
> > Or....  maybe there is another way.
> > I appreciate that if I want to style the HTML table,  I'll have to
> > write my code in the form (which I am trying to avoid).
>
> > Thanks,
> > -D
>
>

Reply via email to