将多个项目(如数组)添加到现有Kendo UI DataSource

时间:2013-03-20 13:16:22

标签: kendo-ui datajs

我已经在这个工作了几个小时,无法找到让它正常工作的方法。我正在寻找将数组内容添加到现有Kendo UI DataSource的正确方法。基本上我有4个SharePoint列表,我从每个列表中使用DataJS获取数据。我想在Kendo GridView中显示项目,但我不想使用for语句和add()方法添加项目。我已经尝试直接在数组上使用add()方法,但所有这一切都是将数组作为对象本身添加到DataSource,当然,这不是预期的行为。我还尝试使用dataSource.data.concat(),但收到错误:

  

对象不支持属性或方法'concat'

2 个答案:

答案 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