gpt4 book ai didi

java - Primefaces:如何获取 Java 中的当前排序顺序?

转载 作者:行者123 更新时间:2023-11-29 08:37:57 25 4
gpt4 key购买 nike

是否可以在 Java 中获取当前的排序顺序?

这是一个汽车按年份排序的例子:

<p:column headerText="Year" sortBy="#{car.year}">
<h:outputText value="#{car.year}" />
</p:column>

通过扩展 LazyDataModel<T>可以覆盖以下方法:

public List<T> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
throw new UnsupportedOperationException("Lazy loading is not implemented.");
}

但我想知道如何在不使用 LazyDataModel 的情况下执行此操作。

谢谢!

最佳答案

正如 Jasper de Vries 评论的那样,您可以将 p:dataTable 绑定(bind)到后端的一个变量:

小面孔

<p:dataTable binding="#{bean.dataTable}" ...>

bean 类

private DataTable dataTable;

public DataTable getDataTable() {
return dataTable;
}

public void setDataTable(DataTable dataTable) {
this.dataTable = dataTable;
}

public void methodToAccessSortOrder() {
String sortOrder = this.dataTable.getSortOrder();
// do anything with sortOrder
}

或者,您可以通过提交数据表的 clientId 从 View 根获取数据表:

public void methodToAccessSortOrder() {
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("<CLIENT ID OF DATATABLE>");
String sortOrder = dataTable.getSortOrder();
// do anything with sortOrder
}

关于java - Primefaces:如何获取 Java 中的当前排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com