0 Replies Latest reply on Jun 26, 2012 5:03 AM by amon-re

    Extremely slow selection behavior of ExtendedDataTable

    amon-re

      Hello,

       

      recently I have encountered a problem in using the extendedDataTable of RichFaces 3.3.3.Final.

       

      My code:

      <rich:extendedDataTable sortMode="multi" selectionMode="multi" value="#{BackingBean.dataList}" selection="BackingBean.selection" var="entry">
           <rich:column>
                #{entry.date}
           </rich:column>
           <rich:column>
                #{entry.department}
           </rich:column>
           <f:facet name="footer">
                <rich:dataScroller renderIfSinglePage="false">
           </f:facet>
           <a4j:support event="onselectionchange" action="#{BackingBean.takeSelection}" ajaxSingle="true" ignoreDupResponses="true"/>
      </rich:extendedDataTable>
      

       

      The problem is that the table contains currently about 14.000 entries. When a submit is performed because of selection it takes very long (about 15 seconds) until the method "takeSelection" will be called. I have no idea why this is so. The objects are relatively small (they contain only some strings and a date). I have no explanation why it takes so long until finally the action method is called. Can someone please give me a hint?

       

      EDIT:

       

      I found the source of the problem, but still no suitable solution. I also had filtering enabled on the columns:

       

      <rich:column headerClass="extdt-header"
                          sortBy="#{entry.date}"
                          filterBy="#{entry.date}">
           #{entry.date}
      </rich:column>
      

       

      Is the filtering always perfomed on every entry even if just the selection changes?? Or is there a possibility to make the whole thing faster even with large number of data in the table?