我已经在这个工作了几个小时,无法找到让它正常工作的方法。我正在寻找将数组内容添加到现有Kendo UI DataSource的正确方法。基本上我有4个SharePoint列表,我从每个列表中使用DataJS获取数据。我想在Kendo GridView中显示项目,但我不想使用for
语句和add()
方法添加项目。我已经尝试直接在数组上使用add()
方法,但所有这一切都是将数组作为对象本身添加到DataSource,当然,这不是预期的行为。我还尝试使用dataSource.data.concat()
,但收到错误:
对象不支持属性或方法'concat'
答案 0 :(得分:11)
假设您在名为newData
的数组中拥有新数据。您可以使用:
var newData = [
{ ... },
{ ... },
{ ... }
];
$.merge(newData, datasource._pristine);
datasource.data(newData);
答案 1 :(得分:1)
上述解决方案对我不起作用。 Telerik管理员建议使用以下方法:
var vm = kendo.observable({
data: new kendo.data.ObservableArray([])
});
vm.data.push.apply(vm.data, [ 1, 2, 3]);
这种方式导致绑定小部件的一个渲染。在此处找到:http://www.telerik.com/forums/passing-array-to-observablearray-push