2013-05-09 58 views
0

有没有办法在第一次加载时设置lazyDataModel的sortField参数?我希望DataTable能够在渲染的第一列进行排序。如何设置Primefaces LazyDataModel默认SortField

@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

不幸的是,在看primefaces API后,我觉得对于primefaces的数据表组件的默认排序字段不能设置,所以我已经添加上LazyModel.load方法的一些代码:

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

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

}