【问题标题】:GWT how to setup Pager in DataGrid when using Objectify Cursors使用 Objectify Cursors 时 GWT 如何在 DataGrid 中设置寻呼机
【发布时间】:2012-06-16 18:18:28
【问题描述】:

我最近达到了可以使用光标检索数据的地步(请参阅此链接:GWT pass Objectify Cursor from Server to Client with RequestFactory and show more pages in DataGrid

我遇到的问题 - 当我在客户端获取数据包时,它只有 25 个列表 - 当我在 DataGrid 中设置数据时,底部的寻呼机显示 1-25 of 25,那里数据库中显然有更多记录我只是用光标一次检索其中的 25 条记录

我尝试做的是设置以下内容:

pager.setRangeLimited(false);

不幸的是 - 虽然这允许我从数据库中分页和选择更多 - 它实际上从未给我数据库中的数量。我想知道的是,如果我在服务器端使用游标 - 我如何设置寻呼机中的总数??

我想做的一件事就是简单地向我返回的 ListCursor 包装器对象添加一个总计数变量 - 不幸的是,如果我使用 null 初始查询请求它,我每次都会通过并获取总计数- 这似乎非常低效 - 一旦我得到它,我仍然不知道如何实际告诉寻呼机可用的数据比我实际提供的更多。

对此的任何帮助将不胜感激

【问题讨论】:

    标签: google-app-engine gwt objectify


    【解决方案1】:

    您通过告诉寻呼机行数是准确的来设置寻呼机中的总计数:

    asyncDataProvider.updateRowCount(int size, boolean exact);
    

    如果您不告诉寻呼机行数是准确的,那么您显然无法导航到最后一页。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2022-11-18
      • 1970-01-01
      • 2013-09-21
      相关资源
      最近更新 更多