【问题标题】:Primefaces lazytable sorting change first sorting orderPrimefaces 惰性表排序改变了第一个排序顺序
【发布时间】:2021-02-16 15:33:44
【问题描述】:

有没有什么办法允许在第一次请求对特定列进行排序后,不按升序排列在前,而是按降序排列在前?

说明: 如果我需要按降序对列进行排序,则必须先按升序单击列,然后才能根据需要使用排序数据重新加载表。 我现在使用的一个不完全好的解决方案是在列的情况下,我需要相反的顺序,我只是在查询数据库时交换升序/降序的含义。但是表格没有正确显示表格上方的箭头,我正在对数据进行排序,因此有必要对 CSS 中的列进行干预。

还有更优雅的选择吗?

对不起,我的英语简单,感谢您的任何建议, 文卡。

【问题讨论】:

标签: sorting primefaces primefaces-datatable


【解决方案1】:

正如@Melloware 在评论中指出的那样datatable 具有可用于排序的字段sortBysortOrder

查看示例:

    <p:dataTable id="txnTable"
        value="#{chTransactionsForm.transactions}" var="res"
        sortMode="single" sortBy="#{res.activityDate}" sortOrder="DESCENDING"
        rows="#{referenceData.recordsPerPage}" rowKey="#{res._lineNumber}"
        lazy="true" resizableColumns="true"
        paginator="true" paginatorPosition="bottom" paginatorAlwaysVisible="false"
        paginatorTemplate="#{referenceData.paginatorTemplate}">
   
        <p:column id="activityDate" headerText="#{msg.transDate}"
            sortBy="#{res.activityDate}" width="120">
            <h:outputText value="#{res.activityDate}">
                <f:convertDateTime timeZone="#{referenceData.timezone}"
                    pattern="MMM dd, yyyy HH:mm" />
            </h:outputText>
        </p:column>
        ...

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 2018-04-11
    • 2018-08-18
    • 2016-05-06
    • 2021-11-13
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多