[英]Use PrimeFaces Lazyloading In Datatable
I take Data from Database with Hibernate .and I show data in datatable in my program now I have to show data with lazy loading Primefaces Datatable我使用 Hibernate 从数据库中获取数据。现在我在程序中的数据表中显示数据我必须通过延迟加载 Primefaces 数据表来显示数据
I don't know how should I change my Code.我不知道我应该如何更改我的代码。 I search internet, I don't find anyway.
我在网上搜索,反正我没有找到。 (I want List testList with lazy loading in Datatable showing)
(我想要在数据表中显示延迟加载的 List testList)
XHTML file: XHTML 文件:
<p:dataTable var="test" value="#{testMB.testList}" id="testTable"width="100%" liveResize="true">
ManagedBean file托管Bean文件
private List<TestDTO> testList = new ArrayList<TestDTO>();
public List<TestDTO> getTestList() {
return logList;
}
public void setTestList(final List<TestDTO> pTestList) {
testist = pTestList;
}
TestDTO class TestDTO 类
public class TestDTO implements Serializable {
private static final long serialVersionUID = XXXXXXXXXXXXXXL;
private String XXXXXXXX;
private Date XXXXXXXX;
private String XXXXXXXX;
private Long XXXXXXXX;
private Long XXXXXXXX;
private Long XXXXXXXX;
private String XXXXXXXX;
private String XXXXXXXX;
........
You have to implement LazyDataModel class for lazy loading instead of using normal ArrayList and you should set lazy to true at your datatable.您必须为延迟加载实现 LazyDataModel 类,而不是使用普通的 ArrayList,并且您应该在数据表中将 lazy 设置为 true。
<p:dataTable var="test" value="#{testMB.testList}" id="testTable"width="100%" liveResize="true" lazy="true">
You might consider turn on paginator as well as it serves the purpose of lazy loading.您可能会考虑打开分页器以及它用于延迟加载的目的。
More Info:http://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml更多信息:http ://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml
Sample of a LazyDataModel class. LazyDataModel 类的示例。
class LazyTestDataModel extends LazyDataModel<TestDTO> implements Serializable {
private static final long serialVersionUID = 1L;
@Override
public List<TestDTO> load(int first, int pageSize, String sortField, SortOrder sortOrder,
Map<String, Object> filters) {
try {
Map<String, Object> params = PrimefacesBeanUtils.populatePaginationMap(first, pageSize, sortField, sortOrder, filters);
setRowCount(testService.getListCount(params));
if (getRowCount() > 0) {
return testService.getList(params);
}
} catch (Throwable t) {
errorResult(t);
}
return null;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.