1

谁能指出我使用 dgrid 的分页扩展和 dgrid 的示例?这可以是参考链接或您键入的简单示例。我在我的代码中定义了它,将它与一个 OnDemandGrid 一起使用,它被添加到我的自定义网格的声明 mixin 中。我看到了页面导航的箭头,我看到了页面大小设置菜单,但是我的 rowsPerPage: 3 规范什么也没做。我仍然看到我的 7 个样本记录。

我正在使用修改后的缓存(数据对象存储),它为我的 dgrid 包装了 JsonRest 和内存存储。

4

2 回答 2

3

我认为问题在于您不能使用OnDemandGrid分页,因为OnDemandGrid它有自己的内部虚拟分页逻辑。从dgrid 扩展 wiki

与 OnDemandList 和 OnDemandGrid 模块相比,分页扩展实现了经典的离散分页控件。它在给定时间显示一定数量的结果,并提供一个页脚区域,其中包含用于在页面之间切换的控件。

注意:分页扩展应该混合到 List 或 Grid 中,而不是 OnDemand 构造函数之一,因为它们包含自己的虚拟滚动逻辑。在内部,Pagination 继承自 OnDemand 原型所继承的同一个 _StoreMixin 模块,以便与 d​​ojo/store 进行通用集成。

你想要做的是混合Pagination成一个普通的Grid. Pagination Mixin 包含您感兴趣的属性,例如行数。Paginator 扩展处理与提供的存储的对话,以检索和呈现要显示的行集。define像这样的类的 A可能看起来像:

define(['dojo/_base/declare','dgrid/Grid', 'dgrid/extensions/Pagination'],function(declare,Grid,Pagination){
    return declare('mine.PaginatedGrid',[Grid,Pagination],{
      //various default you can set
      pagingLinks: false,
      pagingTextBox: true,
      firstLastArrows: true,
      minRowsPerPage: 5,
      rowsPerPage: 5,
      pageSizeOptions: [5, 10, 15, 25, 50, 100]
    });
});
于 2012-10-18T12:14:48.367 回答
0

DGrid 及其扩展的最佳示例可以在 DGrid 项目的 test 文件夹中找到。它们可以在这里找到:

具体来说,可以找到分页测试:

要运行它们:

  1. 克隆 git 仓库
  2. 将其放在您的网络服务器上
  3. 导航到 html 页面
于 2014-06-24T17:48:25.690 回答