0

I am having difficulties sorting a dynamic dataTable

dataTable

<h:form prependId="false" id="Main_Form">
    <p:dataTable id="dataTable" var="c" value="#{databaseSearch.customerList}"  
        paginator="true" rows="10" paginatorAlwaysVisible="false"
        paginatorTemplate="Page {CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}  Rows per page {RowsPerPageDropdown}"  
        rowsPerPageTemplate="5,10,15,30" draggableColumns="True">  
        <p:column sortBy="#{c.machine}" headerText="Machine">  
            <h:outputText value="#{c.machine}" />   
        </p:column>  
        <p:column sortBy="#{c.company}" headerText="Company">  
            <h:outputText value="#{c.company}" />
        </p:column>  
        <p:column sortBy="#{c.contact}" headerText="Contact">  
            <h:outputText value="#{c.contact}" />  
        </p:column>  
        <p:column sortBy="#{c.phone}" headerText="Phone">  
            <h:outputText value="#{c.phone}" />  
        </p:column>  
        <p:column sortBy="#{c.email}" headerText="Email"> 
            <h:outputText value="#{c.email}" />
        </p:column>  
        <p:column exportable="false" headerText="Modify">   
            <center>
                <p:commandButton id="basic" value="Update"
                    action="#{updateEntry.setMachine(c.machine)}"
                    oncomplete="dlg1.show();"
                    styleClass="ui-Machinebutton" update=":Update_Entry"/>
                <p:tooltip for="basic" value="Update/Delete Database Entry"
                    showEffect="fade" hideEffect="fade" />
            </center>
        </p:column> 
    </p:dataTable>
</h:form>

I am using a @SessionScoped bean where databaseSearch.customerList would query the database and populate the dataTable. When I click on the column name to sort, the sort arrow mark changes but the table contents do not sort.

I am using PF 3.4.2

Luiggi Mendoza
  • 85,076
  • 16
  • 154
  • 332
Telson Alva
  • 842
  • 6
  • 22
  • 37
  • This looks like a duplicate of http://stackoverflow.com/questions/5020725/sorting-is-not-working-in-datatable-in-primefaces – RJA Sep 16 '13 at 21:18

1 Answers1

1

If you are querying your database in your getCustomerList method in every request this will not work. You may try with a local variable

public class DatabaseSearch{

    private List<C> customerList;

    public List<C> getCustomerList () {
        if (customerList == null)
            customerList = dao.getcustomerList();
        return customerList ;
    }
}
Serkan Arıkuşu
  • 5,549
  • 5
  • 33
  • 50