0

primefaces 数据表的问题。嗨,我使用的是 Primefaces 和 6.2,但我遇到了数据表问题。我有惰性数据模型,带有加载方法:load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters)

因此,当我在第一个数据表页面上时,我可以(通过单击列)将 sortOrder 更改为 ASCENDING 或 DESCENDING,但是当我更改页面时,例如更改为第二个,我的 sortOrder 是 DESCENDING,即使在第一页上它正在上升。你能帮我解决这个问题吗?

    <p:dataTable
            var="element"
            value="#{model}"
            lazy="true"
            paginator="true"
            rows="20"
            paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
            rowsPerPageTemplate="25,50,100"
            id="dataTable"
            currentPageReportTemplate="#{pagesBean.getCommonFieldText('entries')}: {startRecord} - {endRecord} #{pagesBean.getCommonFieldText('of')} {totalRecords}, #{pagesBean.getCommonFieldText('page')}: {currentPage}/{totalPages}"
            sortBy="default"
            sortOrder="descending"
            emptyMessage="#{pagesBean.getCommonFieldText('tb_zeroRecords')}"
            rowStyleClass="#{rowstyleclass}">
        <p:column headerText="datetime"
                  priority="3" >
            <h:outputText value="#{element.datetime}" />
        </p:column>
    </p:dataTable>

            @Override
            public List<SearchResult> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
                SearchResult result = md.getCustomers(first, pageSize, sortField, sortOrder.name());
                model.setRowCount(result.getCount());

                return (List<SearchResult>) result.getResult();
            }
4

0 回答 0