Like "represent", "format" should be either a string or a callable, so you
should also be able to do:
format=lambda row: IMG(_src=URL('static', 'images/red.jpg'))
Anthony
On Sunday, February 12, 2012 1:02:55 PM UTC-5, Alan Etkin wrote:
>
> I belive that format is intended for string output:
>
> "... defines a format string for the table. It determines how a record
> should be represented as a string. ..."
>
> For presenting other objects you could use the Field attribute
> represent
>
> "... table.id.represent = lambda id, row: \
> A('edit:',id,_href=URL(args=(request.args(0),id)))
> (...)
> represent=... that tells web2py to change the
> representation of the id field and display a link instead to the page
> itself
> ..."
>
> Extracted from the web2py book, 4th edition, section 7.4.3
>
>
> On Feb 12, 2:43 pm, Keith Edmunds <[email protected]> wrote:
> > I have a form based on a table which includes foreign fields. By
> default,
> > the foreign fields are displayed as the name from the foreign table
> > as expected.
> >
> > I want to have an image displayed rather than the name from the foreign
> > table.
> >
> > Not having used 'format' before, I changed the format of the foreign
> table
> > to:
> >
> > format="xyz"
> >
> > As expected, every row now displayed "xyz". I then changed to:
> >
> > format=URL('static','images/red.jpg')
> >
> > and again, as expected, the URL string appears in every row. Then I did:
> >
> > format=IMG(_src=URL('static','images/red.jpg'))
> >
> > and now no foreign key lookup seems to occur at all: I just get the id
> > value showing in the table.
> >
> > I have two questions:
> >
> > Why does that happen and
> > How can I display an image for a foreign key value?
> >
> > Thanks for pointers or help!
> > --
> > "You can have everything in life you want if you help enough other
> people
> > get what they want" - Zig Ziglar.
> >
> > Who did you help today?