javascript - 在 Kendo UI 中将网格 pageSize 设置为变量

标签 javascript jquery telerik kendo-ui kendo-grid

使用 Kendo UI 网格构建列表。尝试设置 kendo.data.DataSource 对象的 pageSize 参数。

我最初可以将 pageSize 设置为一个变量(例如 varPageSize = 20)。我可以通过单击按钮来增加 varPageSize 变量(例如 varPageSize += 10)。但是,网格的 pageSize 没有更新。

变量赋值:

var varPageSize = 20;

网格部分代码:

dataSource = new kendo.data.DataSource({
     pageSize: varPageSize,
     ...
});

点击事件处理代码

$('#moreButton').on('click', function () {
      varPageSize += 10;

      //print to the console to monitor the value of the varPageSize variable
      console.log(varPageSize);
});

我的问题是我应该如何实现对 pageSize 参数的变量赋值,以便它可以响应前端事件进行更新。

我最初的想法是我在更新变量值后不更新网格。来自 Telerik 的 Kendo UI 论坛帖子说使用 grid.refresh(); - 但网格对象无法识别 .refresh()。我还寻找了关于该主题的其他问题,但我很难确定将哪个问题转化为我的解决方案 - 每个现有帖子都是我未使用的变体(例如 .pageSize();)

对正确方向的任何见解或插入表示赞赏。

谢谢!

最佳答案

当您设置 pageSize: varPageSize 时,您在执行时分配了 varPageSize 的不可变值。您没有分配对 varPageSize 的引用。因此,当您更改 varPageSize 时,pageSize 不会更新(这是 JavaScript 的工作方式,并非特定于 Kendo UI)。

为了做你想做的事,你需要在更改后调用dataSource.pageSize(varPageSize),然后调用grid.refresh()来应用这个更改到网格。

参见 this fiddle举个例子。

关于javascript - 在 Kendo UI 中将网格 pageSize 设置为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604165/

相关文章:

asp.net - 已发布页面上带有 telerik 控件的样式问题

javascript - iPad 的 originalEvent.touches 不工作

javascript - jQuery - 提交表单联系人后的占位符值

javascript - 创建许多小的 html 表单

javascript - addClass 直到 keydown

wpf - ControlTemplate 中的 UserControl

javascript - 使用 Javascript 导出函数返回未定义

javascript - 为什么 foo 函数内部和外部的参数值不同

javascript - jQuery 重新排列 Div 内的 HTML

asp.net - 如何删除所有父容器对任何子控件的影响