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 <[email protected]> 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 <[email protected]> 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
>
>