0

有没有办法在第一次加载时设置lazyDataModel 的 sortField 参数?我希望 DataTable 按渲染时的第一列排序。

@Override
public List<T> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> loadingFilters) { }

在第一次加载 sortField 是空的。

我的解决方案是在 sortField 为空时覆盖它:

if(!StringUtils.isBlank(getDefaultSort())) {
  sortField = getDefaultSort();
}

但是没有开箱即用的方法吗?

4

1 回答 1

1

不幸的是,在查看了 primefaces api 之后,我认为 primefaces 的 DataTable 组件的默认排序字段无法设置,所以我在 LazyModel.load 方法上添加了一些代码:

public List<T> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {

    if(sortField == null) {
        sortField = "defaultSortField";
    }

}
于 2013-05-12T11:56:00.750 回答