使用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();)

任何见解或朝着正确方向的 push 都值得赞赏。

谢谢!

最佳答案

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

为了执行您想要的操作,您需要在更改后调用dataSource.pageSize(varPageSize),然后调用grid.refresh()将此更改应用到网格。

有关示例,请参见this fiddle

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

10-10 02:15