Question

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
Was it helpful?

Solution 2

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.

OTHER TIPS

Try setting sortOrder to a bean property of type org.richfaces.model.Ordering for each column

Please take a look at JIRA RF-6234 for workarounds.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top