0

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

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

有没有更优雅的选择?

抱歉,我的英语很简单,感谢您的任何建议,文卡。

4

1 回答 1

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>
        ...
于 2020-11-04T14:24:40.653 回答