does anyone know how to properly enable sorting on a rich:dataTable with columns generated on the fly using rich:columns tag?
Setting sortBy with an expression like #{row[column]} doesn't work for me.
I'm using RichFaces 3.3.1GA.
Here's the example:
<rich:dataTable id="table" value="#{localeHandler.locales}" var="row">
<rich:columns value="#{localeHandler.columns}" var="column" sortBy="#{row[column]}" >
<f:facet name="header">
<h:outputText value="#{column}"/>
</f:facet>
<h:outputText value="#{row[column]}"/>
</rich:columns>
</rich:dataTable>
whereas the localeHandler.locales is an ArrayList and localeHandler.columns is just an ArrayList containing the following values:
language, country, variant, displayName, displayLanguage, displayCountry, displayVariant
Try setting sortOrder to a bean property of type org.richfaces.model.Ordering for each column
I've found out that the last version where this feature worked was 3.3.0.CR1 - since 3.3.0.CR2 it's broken.
Please take a look at JIRA RF-6234 for workarounds.
来源:https://stackoverflow.com/questions/1119321/richfaces-richcolumns-and-sorting