使用rich:dataTable和rich:dataTableScroller加载延迟数据

时间:2009-07-28 22:15:19

标签: jsf richfaces

我正在使用rich:dataTable rich:dataTableScroller。我不想在初始化表时从DB加载我的所有数据,因为我有很多记录。我希望rich:dataTableScroller显示实际的页数,但只有在我打开时才加载页面。我找到了一些解决方案here 但我想使用rich:dataTablerich:dataTableScroller,而不是编写自己的组件。有人提出一些想法吗?

3 个答案:

答案 0 :(得分:2)

您应该创建自定义org.richfaces.model.DataProvider,而在getItemsByRange中,您应该获取有限的数据。 然后,您应构建ExtendedTableDataModel传递自定义DataProvider,并在<rich:dataTable> - value="#{myBean.myExtendedDataModel}"

中使用此模型

答案 1 :(得分:0)

您可以创建自己的“PagedDataModel”,它实际上只返回您将看到的页面中显示的数据。

我找到了这个here的例子。

答案 2 :(得分:-1)

您可以将自己的数据模型编写为richfaces扩展数据模型的子项,其具有方法:

protected List<T> loadData(int offset, int limit, List<Order> orders)