First of all: Overall is Tapestry 5 in general and the the Grid
component in particular an amazing piece of software. So this is *not*
complaints, just an attempt to sort things out, to share my experiences
and check that I understand things correctly.
I have a use case where I'm about to present data in a table. The table
is presenting different databases from time to time, so the db layout
varies. At first glance, I thought the Grid would solve my problems, the
Tapestry 4 did with some tweaks. However, I've run into follwong
limitations:
- The paging policy with a fixed number of numbered pages is hardcoded
and can't be changed. Other policies e. g., overlap between pages or
pages started at random points in the input vector is not possible. This
has been discussed earlier, and is according to HLS a design decision.
- It is not possible to change the overall rendering of a row e. g,, to
to embed each <TR>...</TR> in a <DIV class=xxx> <TR>...</TR></DIV>. (e.
g., if a row should wrapped in a microformat).
- It is not possible to change the layout of the table header if you
don't know the name of the column/attribute at compile time. Of course,
you cannot reference an unknown column in the template. But it might be
possible to define a catch all block ("DefaultColumnCell?) which is the
layout for all columns, with provisions to access the current column's
name. Again, this can't be done as of 5.0.11.
- It is not possible to enumerate the properties in the BeanModel data
source (is is possible to list the editable properties, though). Minor
issue, I guess.
Personally, the conclusion is of course to write my own component, no
problem. But maybe some of this or similar info should go into the Wiki,
it would definitely have saved some time for me. There is really a lot
of info what *can* be done with this rather complex and powerful
component. Maybe it's time to add some info about what *can't* be done
with it. Maybe some issue should be a RFE in the JIRA?
Cheers
--Alec
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]