dgrid分页示例

时间:2012-10-17 23:34:05

标签: dojo pagination dgrid

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

我正在使用一个修改后的Cache(数据对象存储)来为我的dgrid包装一个JsonRest和Memory存储。

2 个答案:

答案 0 :(得分:3)

我认为问题是你不能使用OnDemandGrid分页,因为OnDemandGrid拥有自己的内部虚拟分页逻辑。来自dgrid extensions wiki

  

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

     

注意:分页扩展应混合到List或Grid中,而不是   一个OnDemand构造函数,因为它们包含它们自己的构造函数   虚拟滚动逻辑。在内部,分页继承了同样的东西   _StoreMixin模块由OnDemand原型继承,用于与dojo / store的通用集成。

您要做的是将Pagination混合到普通Grid中。 Pagination Mixin包含您感兴趣的属性,例如行数。 Paginator扩展程序处理与提供的商店的对话,以检索和呈现要显示的行集。像这样的类的define可能是这样的:

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]
    });
});

答案 1 :(得分:0)

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

具体而言,可以找到分页测试:

运行它们:

  1. 克隆git repo
  2. 将其放在您的网络服务器上
  3. 导航到html页面