4

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

对象不支持属性或方法“concat”

4

2 回答 2

12

假设您在一个名为 的数组中有新数据newData。您可以使用:

var newData = [
    { ... },
    { ... },
    { ... }
];

$.merge(newData, datasource._pristine);
datasource.data(newData);
于 2013-03-20T14:48:01.933 回答
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

于 2016-02-09T20:59:16.807 回答