2012-06-16 31 views
1

我最近它得到的地方,我可以用游标检索数据点(见链接:GWT pass Objectify Cursor from Server to Client with RequestFactory and show more pages in DataGridGWT在DataGrid中设置寻呼机在使用如何物化光标

什么我遇到了 - 当我得到的数据包在客户端它只有25列表 - 当我去设置DataGrid中的数据时,底部的寻呼机显示显示25的1-25,显然我刚刚检索的数据库中有更多的记录25

pager.setRangeLimited(false); 
:他们在时间光标

我试图做的是设置以下的

不幸的是 - 虽然这可以让我从数据库中选择更多页面 - 它实际上从来没有给我数据库中的数量。我想知道的是,如果我在服务器端使用光标 - 我如何在寻呼机中设置总数?

我想要做的一件事就是简单地向我返回的ListCursor包装器对象添加一个总计数变量 - 不幸的是,这将需要如果我要求它与空初始查询我经历并获得总计数时间 - 这似乎是非常低效的 - 然后一旦我得到这回,我仍然不知道如何实际告诉寻呼机,更多的数据可用比我实际给它。

任何帮助将非常感激

回答

0

您在寻呼机组的总数告诉寻呼机,该行数是准确的:

asyncDataProvider.updateRowCount(int size, boolean exact); 

如果你不告诉寻呼机行数是确切的,那么你显然不能导航到最后一页。

核心问题是如何获得总行数。查询行数确实非常低效。更好的办法是在跟踪记录数量的数据存储中保留一个计数器。这也可能是非常低效的,因为你有这个计数器同步/交易的增量。

在我的项目中,我没有跟踪确切的行数,但我提供了灵活的搜索选项。