我有一種情況,應該是動態分頁。這意味着它應該隨每次調用load方法而改變。如何更改p:datatable的lazyloading的setRowCount動態
我想動態設置setRowCount()方法,並給予分頁的數據表
@Override
public List<ProjectMasterModel> load(int first,int pageSize,StringsortField, SortOrder sortOrder, Map<String, String> filters) {
List<ProjectMasterModel> data=new ArrayList<ProjectMasterModel>();
LazyDataModel<ProjectMasterModel> newdata = null;
ProjectMilestoneDaoImpl milestoneDaoImpl=(ProjectMilestoneDaoImpl) ObjectFactory.getBean("projectMilestoneDao");
SessionFactory sessionFactory=(SessionFactory) ObjectFactory.getBean("sessionFactory");
sessionFactory.getCurrentSession().beginTransaction();
try{
data.addAll(milestoneDaoImpl.populateLazyRandomProjects(first,pageSize));
setRowCount(milestoneDaoImpl.getRowCount_Of_ProjectList());
// very important line to show the pagination
}catch(Exception e){
CmsLogger.errorLog(LazyProjectDataModel.class, e);
}finally{
sessionFactory.getCurrentSession().close();
}
if(sortField != null)
Collections.sort(data,new ProjectMasterModel());
return data;
}
這裏我使用了一個查詢來獲取數據的大小來設定的行數。 在給定的情況下,它們可能是添加到數據庫的記錄數。 所以分頁應該動態增加。 但是,如果我將setRowCount()方法更改爲動態值,則不會反映它保持其第一次設置的原始值。