0

我在对动态数据表进行排序时遇到困难

数据表

<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>

我正在使用一个@SessionScopedbeandatabaseSearch.customerList来查询数据库并填充数据表。当我单击要排序的列名时,排序箭头标记会发生变化,但表格内容不会排序。

我正在使用 PF 3.4.2

4

1 回答 1

1

如果您在每个请求中都在 getCustomerList 方法中查询数据库,这将不起作用。您可以尝试使用局部变量

public class DatabaseSearch{

    private List<C> customerList;

    public List<C> getCustomerList () {
        if (customerList == null)
            customerList = dao.getcustomerList();
        return customerList ;
    }
}
于 2013-08-02T19:56:35.130 回答