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

Rob*_*her 4 datajs kendo-ui

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

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

Ona*_*Bai 11

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

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

$.merge(newData, datasource._pristine);
datasource.data(newData);
Run Code Online (Sandbox Code Playgroud)

  • 注意你的`$ .merge()`参数的顺序!如果`newData`应该是**ap**pended(不是**pre**pended),那么它应该是**second**参数.另外在我的剑道版本中属性`_pristineData`,而不是`_pristine`.最后,通过使用.data()直接将`datasource.data(...)`设置为新值,您将"分离"远程服务.相反,我使用`schema:{data:function(){}}`来返回数据,好像它已经从远程服务中回来了`merged` (2认同)