1 Reply Latest reply on Nov 7, 2008 3:42 AM by Kloot Perwee

    Datable sorting problem

    Kloot Perwee Newbie

      First off: I am using Spring Web Flow underneath Richfaces!

      I am using the rich:dataTable tag in conjunction with a checkbox (with a4j:support) on every row. Now if I first render the rich:dataTable with a Collection of beans like so:

      <rich:dataTable id="listTable"
       width="100%"
       rows="#{listBackingBean.pageSize}"
       value="#{listBackingBean.listDTOs}"
       var="listElement"
       reRender="listTableScroller">
      
       <f:facet name="header">
       <h:outputText value="#{flowScope.title}" />
       </f:facet>
      
       <rich:column id="CbbNr" sortBy="#{listElement.cbbNummer}" rendered="#{flowScope.listtype != 'A'}">
       <f:facet name="header">
       #{resourceBundle['message.list.column.cbbnr']}
       </f:facet>
       #{listElement.cbbNummer}
       </rich:column>
      
       <rich:column id="columnA" rendered="#{flowScope.listtype == 'A' and flowScope.personal == false}" style="text-align:center;">
       <f:facet #{resourceBundle['message.list.column.A']}
       </f:facet>
       <h:selectBooleanCheckbox value="#{listElement.claimAsManager}" rendered="#{listElement.manager == null}">
       <a4j:support event="onchange" reRender="listTable" ajaxSingle="true" />
       </h:selectBooleanCheckbox>
       </rich:column>
       [...]
      
      


      I can check all the rows I want to "claimAsManager" and if I save the page the correct rows (or ListDTOs) get updated.
      Now if I sort the table with the sortBy="#{listElement.cbbNummer}" column and I claim some other rows I effectively claim other rows then suspected, in fact I claim those rows at the positions they first appeared in the first rendition (before the sort).
      I checked the id's of the rows and it turns out that every row keeps it's id before and after the sorting.
      Has anyone experienced the same problem with sorting the dataTable? Is this a bug or am I forgetting something?