On 7/27/07, Renzo Tomaselli <[EMAIL PROTECTED]> wrote: > Hi, I'm a bit confused about how to prepare a tr:table for sorting. > First, I miss the rationale behind the sortProperty attribute. Since > visual appearance (and next action) occurs on a given column - which is > bound to a model property - why do we need to specify a further property > name to sort on ?
The column itself isn't really bound to a model property per se. Components within it are, and might even be bound to multiple properties, or bound in a weird way, etc. sortProperty is used to create SortCriterion objects that can be passed to the CollectionModel.setSortCriteria() method. > Then I noticed from a previous message that sortProperty does not accept > EL, just literal strings. In case of dynamic columns (I use c:forEach), > this should mean that I cannot sort on any column, since I cannot > specify a dynamic sortProperty name. Dynamic sortProperty still works. It's just that your EL binding is to a literal string. The limitation here is just that you can't have: <tr:column sortProperty="#{row.name.first}"> ... and expect that to sort the first name. Nor, if you're just using our default SortableModel wrapper (which performs all sorting in-memory), can you use: <tr:column sortProperty="name.first"/> ... but that's a limitation of SortableModel, not sortProperty. Finally, the "sortable" property is there to turn off sorting for a column. Removing sortProperty also does this, but there are cases where you might want to dynamically turn sorting on and off, and doing it via a sortable property is clearer. -- Adam > Is that correct ? Is there any way > to shortcut sortProperty to the current column ? > Furthermore, could anybody please explain the usage of requested methods > isSortable, setSortCriteria, getSortCriteria ? I use my own Collection > model, which is presumed to export these methods to enable sorting, but > I miss any involved semantics. > There is nothing about on demos, wiki and general Trinidad documentation. > >