是否有可能在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的情况下执行此操作。
谢谢!
答案 0 :(得分:4)
正如Jasper de Vries评论的那样,您可以将p:dataTable绑定到后端的变量:
<强>的facelet 强>
Display(request,response);
bean类
<p:dataTable binding="#{bean.dataTable}" ...>
或者,您可以通过提交数据表的clientId从视图根目录获取dataTable:
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
}