sorting doen't work in scrollableDataTable with dynamic colu
munichgrizzley Jul 30, 2008 12:22 PMHi,
I try to get sorting of columns working in a scrollableDataTable with dynamic columns. But so far with out success. The relevant part of the jsp is
<rich:scrollableDataTable value="#{hello.wines}" var="w" styleClass="table" headerClass="tableHeader" rowClasses="evenRow,oddRow" height="300px" width="100%" rows="20" sortMode="single"> <rich:columns value="#{hello.fields}" var="field" sortBy="#{w[field.property]}"> <f:facet name="header"><h:outputText value="#{field.title}" /></f:facet> <h:outputText value="#{w[field.property]}" /> </rich:columns> </rich:scrollableDataTable>
If I click on a column I get the error message
javax.el.PropertyNotFoundException: Property 'rf1' not found on type com.gpc.webprototype.domain.Wine javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193) javax.el.BeanELResolver.property(BeanELResolver.java:267) javax.el.BeanELResolver.getValue(BeanELResolver.java:60) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73) com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:168) org.richfaces.model.impl.PropertyResolverComparator.compare(PropertyResolverComparator.java:59) java.util.Arrays.mergeSort(Arrays.java:1270) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.sort(Arrays.java:1210) java.util.Collections.sort(Collections.java:159) org.richfaces.model.impl.ListDataModel.loadData(ListDataModel.java:51) :
If I use sortExpression instead of sortBy, I get the error message
javax.el.PropertyNotFoundException: Property '#{w[field.property]}' not found on type com.gpc.webprototype.domain.Wine javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193) javax.el.BeanELResolver.property(BeanELResolver.java:267) javax.el.BeanELResolver.getValue(BeanELResolver.java:60) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73) com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:168) org.richfaces.model.impl.PropertyResolverComparator.compare(PropertyResolverComparator.java:59) java.util.Arrays.mergeSort(Arrays.java:1270) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.mergeSort(Arrays.java:1281) java.util.Arrays.sort(Arrays.java:1210) java.util.Collections.sort(Collections.java:159) org.richfaces.model.impl.ListDataModel.loadData(ListDataModel.java:51) :
Does anyone know how to solve this issue.
Thanks
Christoph