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]

Reply via email to