【问题标题】:Dojo Enhanced grid with pagination need to access number of rows in the page带分页的 Dojo 增强网格需要访问页面中的行数
【发布时间】:2013-03-07 11:28:15
【问题描述】:

我正在用分页实现DojoEnhancedGrid,并且有一个叫做items per page的东西。

10 | 20 | 30 | 40  | 50| all.

假设我在这里选择EnhancedGrid 分页中的20。如何从程序中访问值 20?我想获取这个值并将其存储在一个变量中,比如Page-size。 我正在使用Dojo 1.6.1 版

【问题讨论】:

    标签: javascript dojo dojox.grid


    【解决方案1】:

    您可以使用以下命令访问 dojo 1.6 中的页面大小:

    yourGrid.pagination.plugin.pageSize;
    

    这是一个使用 dojo 1.6 的工作 jsfiddle:

    http://jsfiddle.net/SM8GS/1/

    它使用网格的 onClick 事件。每次单击网格时,它都会提醒当前页面大小。

    请编辑您的初始问题并将道场版本添加到其中!

    卢锡安

    【讨论】:

    • 感谢您的回复。试过了。它说:gridZoneMember.plugins.pagination.currentPageSize 不是函数。
    • 你用的是什么dojo版本?你能提供一个 jsfiddle 你的例子和错误吗?
    • 哦。非常感谢您指出这一点。我使用的是 DOJO 1.6 版。我试图执行的 JSFriddle 是:jsfiddle.net/KDTcC/3,它在 1.7 和 1.8 dojo 中执行。而在 1.6 中没有。所以这给了我一个解决方案。我有一个问题要问你。现在假设如果我用 1.7 替换我的 Dojo 1.6 库,我的代码会工作..??
    • 不能肯定地说。但是dojo应该是向后兼容的。你必须尝试一下。我不会再使用 1.6,1.8 有很多新功能并且更有意义。这是否已经解决了您的问题?
    • 我已经编辑了我的帖子并添加了一个 jsfiddle 以及一个基于 dimitri 帖子的工作示例
    【解决方案2】:

    documentation 声明有一个currentPageSize() 方法。您可以直接从EnhancedGrid 对象访问它。 我做了一个JSFiddle 来测试这个。在脚本的底部,您可以找到以下代码:

    // Display current page size
    grid.on("RowClick", function() {
       alert(grid.currentPageSize());    
    });
    

    更改页面大小并单击任意行以查看结果。

    其余代码是从文档中复制粘贴的,只是为了获得增强网格的简单示例(不涉及特殊技巧)。

    【讨论】:

    • 感谢您的回复。你直截了当。但是该功能似乎可以在 JSFriddle 上运行。但在我的 PC 上它不起作用。我得到了一个类似的网格,但是当我点击它时没有任何反应。即 grid.on 不起作用。而且当我尝试执行alert(grid.currentPageSize()); 时,它说找不到currentPageSize 函数。
    • @Ashish 这可能取决于您使用的 Dojo 版本。自 1.6 以来发生了很多语法更改,所以这可能就是问题所在。我的示例是使用最新的 Dojo 工具包版本 (1.8.3),这不是您正在使用的版本(但我发布答案时未提供该信息)。
    • 是的,那是真的.. 我的网站 UI 是在 Dojo 1.6 中编码的,所以我现在必须坚持下去。 :( 感谢您的回复 :) 帮助解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-12-03
    • 2013-04-07
    • 2019-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多