0 Replies Latest reply on Mar 30, 2010 11:33 AM by aymenez

    Filtering request delay in rich data table

    aymenez
      Hi all,

      I write the following facelet to display a rich datatable based on true pagination(fetching only the necessary rows form database when needed).

      The problem is that i want to fix a delay just for ajax filtering request.But the <a4j: queue> tag does that for all a4j requests in the facelet(sorting,filtering, row click).

      Any suggestion to fix a delay just for a4j filtering request??

      This is my xhtml view.

      Regards.

      <a4j:queue
                requestDelay="500"
                sizeExceededBehavior="fireNew" size="1" />
           <rich:dataTable value="#{accountManager.userListPanel.tableDataModel}"
                var="user" id="usersTable" rows="10" reRender="datascroller"
                styleClass="dataTableClass" rowClasses="rowColor1,rowColor2"
                disableDefault="false">
                <rich:column styleClass="#{accountManager.userListPanel.getRowColor(user)}"
                     filterBy="#{user.username}" filterEvent="onkeyup"
                     sortBy="#{user.username}" width="40%">
                     <f:facet name="header">
                          <h:outputText
                               value="#{messages['fr.aptus.siaptus.user.identifier']}" />
                     </f:facet>
                     <h:outputText value="#{user.username}" />
                </rich:column>
                <rich:column styleClass="#{accountManager.userListPanel.getRowColor(user)}"
                     filterBy="#{user.collaborator.name}" filterEvent="onkeyup"
                     sortBy="#{user.collaborator.name}" width="30%">
                     <f:facet name="header">
                          <h:outputText value="#{messages['fr.aptus.siaptus.user.name']}" />
                     </f:facet>
                     <h:outputText value="#{user.collaborator.name}" />
                </rich:column>
                <rich:column styleClass="#{accountManager.userListPanel.getRowColor(user)}"
                     filterBy="#{user.collaborator.surname}" filterEvent="onkeyup"
                     sortBy="#{user.collaborator.surname}" width="30%">
                     <f:facet name="header">
                          <h:outputText value="#{messages['fr.aptus.siaptus.user.surname']}" />
                     </f:facet>
                     <h:outputText value="#{user.collaborator.surname}" />
                </rich:column>
                <a4j:support event="onRowClick"
                     action="#{toolBarManager.showSelectedRowDetails(user)}"
                     reRender="toolBarForm">
                </a4j:support>
           </rich:dataTable>
           <rich:datascroller id="datascroller" renderIfSinglePage="false"
                for="usersTable" />