我有一个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会尝试在每次添加时确定如何对网格进行分页,因此这会导致巨大的性能下降。有没有一种方法可以将Kendo UI ObservableArray的内容替换为仅触发一次的change事件?
KendoUI论坛对此问题有答案。我们需要清理数组(触发一个remove事件)并一次推送所有元素(触发一个add事件)
http://www.telerik.com/forums/passing-array-to-observablearray-push
因此,我需要的是
// clean the array
aKendoObservableArray.splice(0, aKendoObservableArray.length);
aKendoObservableArray.push.apply(aKendoObservableArray, [{...},{...},{...},{...},{...}];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句