3 Replies Latest reply on Jan 11, 2010 5:12 PM by nbelaevski

    commandLink in dataTable stops dataScroller from working

    deadlock_gr

      In a dataTable, when I use a commandLink as the content of a column, the dataScroller of the dataTable stops to work, meaning that I need to refresh the page (F5) to see the change in the page of the dataTable.

       

      In the first code snippet the dataScroller does not work, whereas in the second one (I just left out the commandLink) it does.

       

      Not working:

       

      <rich:dataTable width="600px" id="productsTable" rows="10"
           columnClasses="col" value="#{prodListManBean.productsList}"
           var="product">
           <f:facet name="header">
                <rich:columnGroup>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Name" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Email" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="DES Id" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Applicant" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Actions" />
                     </h:column>
                </rich:columnGroup>
           </f:facet>
      
           <h:column>
                <h:outputText value="#{product.inventedName}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.receiptEmail}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.desProductId}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.applicant.name}" />
           </h:column>
           <h:column>
                <h:commandLink action="#{prodListManBean.deleteProduct}"
                     reRender="productsTable,productsScroller">
                     <h:graphicImage value="/images/icons/delete.png" width="15"
                          height="15" alt="delete" />
                     <f:setPropertyActionListener
                          target="#{prodListManBean.selectedProduct}" value="#{product}" />
                </h:commandLink>
           </h:column>
           <f:facet name="footer">
                <rich:datascroller align="center" for="productsTable"
                     page="#{prodListManBean.scrollerPage}" id="productsScroller"
                     reRender="productsTable" />
           </f:facet>
      </rich:dataTable>
      

       

      Working:

       

      <rich:dataTable width="600px" id="productsTable" rows="10"
           columnClasses="col" value="#{prodListManBean.productsList}"
           var="product">
           <f:facet name="header">
                <rich:columnGroup>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Name" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Email" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="DES Id" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Applicant" />
                     </h:column>
                     <h:column>
                          <h:outputText styleClass="headerText" value="Actions" />
                     </h:column>
                </rich:columnGroup>
           </f:facet>
      
           <h:column>
                <h:outputText value="#{product.inventedName}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.receiptEmail}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.desProductId}" />
           </h:column>
           <h:column>
                <h:outputText value="#{product.applicant.name}" />
           </h:column>
           <h:column>
      
           </h:column>
           <f:facet name="footer">
                <rich:datascroller align="center" for="productsTable"
                     page="#{prodListManBean.scrollerPage}" id="productsScroller"
                     reRender="productsTable" />
           </f:facet>
      </rich:dataTable>
      
        • 1. Re: commandLink in dataTable stops dataScroller from working
          nbelaevski

          Hi,

           

          How does bean code look like?

          1 of 1 people found this helpful
          • 2. Re: commandLink in dataTable stops dataScroller from working
            deadlock_gr

            I did this to work around it:

             

            <rich:dataTable width="600px" id="productsTable" rows="10"
            columnClasses="col" value="#{prodListManBean.productsList}"
            var="product">
            <f:facet name="header">
                <rich:columnGroup>
                    <h:column>
                        <h:outputText styleClass="headerText" value="Name" />
                    </h:column>
                    <h:column>
                        <h:outputText styleClass="headerText" value="Email" />
                    </h:column>
                    <h:column>
                        <h:outputText styleClass="headerText" value="DES Id" />
                    </h:column>
                    <h:column>
                        <h:outputText styleClass="headerText" value="Applicant" />
                    </h:column>
                    <h:column>
                        <h:outputText styleClass="headerText" value="Actions" />
                    </h:column>
                </rich:columnGroup>
            </f:facet>
            
            <h:column>
                <h:outputText value="#{product.inventedName}" />
            </h:column>
            <h:column>
                <h:outputText value="#{product.receiptEmail}" />
            </h:column>
            <h:column>
                <h:outputText value="#{product.desProductId}" />
            </h:column>
            <h:column>
                <h:outputText value="#{product.applicant.name}" />
            </h:column>
            <h:column>
            
            </h:column>
            <f:facet name="footer">
                <rich:datascroller align="center" for="productsTable"
                    page="#{prodListManBean.scrollerPage}" id="productsScroller"
                    reRender="productsTable" />
            </f:facet>
            </rich:dataTable>
            
            
            • 3. Re: commandLink in dataTable stops dataScroller from working
              nbelaevski
              Please add a4j:log to the page and check if there are errors.