使用富datascroller在服务器上使用Hibernate Pagination

时间:2010-10-01 06:08:31

标签: hibernate spring richfaces

我有丰富的:数据表有500(行)数据,我正在使用rich:datascroller用于分页,但问题是所有数据都是在第一次获取,所以如果有人有点击第2页的方式hibernate fetches表格中的行(11-20)。我正在使用Spring + Hibernate。请详细说明解决方案。

2 个答案:

答案 0 :(得分:1)

您需要自定义数据模型和自定义数据提供程序。使用query.setMaxResults(..),数据提供程序将负责获取有限的结果。请注意,由于您使用的是spring,因此DataProvider实例是弹簧管理的。

Here是我们用于此目的的一些代码。

答案 1 :(得分:0)

您可以使用一个任务对自己的数据滚动器进行类比:通过ajax渲染表U用于显示记录!

e.g。

<rich:dataTable id="dtId" rows="10" value="#{bean.records}" var="record">
       // content (records)
</rich:dataTable>

你自己的卷轴:

   <a4j:repeat value="#{bean.pages}" var="page">
     <a4j:commandLink value="#{page}" render="dtId" 
           actionListener="#{bean.myListener()}">
        <f:param name="selectedPageNumber" value="#{page}" />
     </a4j:commandLink>
     </a4j:repeat>

你会得到一张桌子和smth。喜欢之后:0 1 2 3 4 5(#{bean.pages} - 只是数字 - 表示页面) 并点击每个链接(0123 ...)您的监听器(myListener)可以从数据库中检索新的数据部分并更新#{bean。记录}列表,​​并在重新渲染后,您将有一个表格新数据!