javascript - 在不触发事件的情况下替换 Kendo ObservableArray 的内容

标签 javascript kendo-ui kendo-grid

我有一个 KendoUI 网格,其中包含 ObservableArray 中的数据。

var aKendoObservableArray = new kendo.data.ObservableArray([ .....]);

// defining the grid ....
dataSource: {
                data: aKendoObservableArray,
                pageSize: 10,
                schema: {
                    model: {
                        id: "_jobInstanceId" // the identifier of the model
                    }
                }
            },

既然我已经从服务器获得了新数据,我想替换这个数组的内容。我试过将数组拼接清空,再一个一个添加新的内容。这会导致巨大的性能下降,因为剑道尝试在每次添加时确定如何对网格进行分页。有没有一种方法可以用仅触发一次的更改事件替换 Kendo UI ObservableArray 的内容?

最佳答案

KendoUI 论坛有这个问题的答案。我们需要清理数组(触发一个删除事件)并一次推送所有元素(触发一个添加事件)

http://www.telerik.com/forums/passing-array-to-observablearray-push

因此,我需要的是

// clean the array
aKendoObservableArray.splice(0, aKendoObservableArray.length);
aKendoObservableArray.push.apply(aKendoObservableArray, [{...},{...},{...},{...},{...}];

关于javascript - 在不触发事件的情况下替换 Kendo ObservableArray 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854743/

相关文章:

javascript - 删除在图像 Canvas HTML5 上绘制的彩色线条

javascript - 为什么 Javascript 字符串替换会颠倒从右到左语言的词序?

jquery - Kendo UI 工具提示删除/销毁?

templates - 如何使用kendo模板检查空值

asp.net-mvc - KendoUI Grid 绑定(bind)远程数据以显示

javascript - 0x800a138f - JavaScript 运行时错误 : The value of the property '' is null or undefined, 不是函数对象

javascript - Kendo 导出到 PDF Unicode 支持

javascript - 单击叠加。使用Jquery模拟点击

javascript - Angular2 - 在用户更改后重置选择的值

javascript - 剑道网格数据绑定(bind)正在递归