如何设置Primefaces LazyDataModel默认的SortField

时间:2013-05-09 05:25:17

标签: primefaces

有没有办法在第一次加载时设置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();
}

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

1 个答案:

答案 0 :(得分: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";
    }

}