kendo UI网格dataitem设置方法

Win*_*-10 4 kendo-ui kendo-grid

grid.dataItem(selectedRow) 
Run Code Online (Sandbox Code Playgroud)

这是返回选定的行,它是一个kendo.data.ObservableObject.

此对象具有该网格所选行的所有列.有没有办法迭代所有列并更新.或者我必须这样做:

dataitem.set("Id", 1);
dataitem.set("name", Eric);
dataitem.set("age", 12);
Run Code Online (Sandbox Code Playgroud)

Ona*_*Bai 7

据我所知,你正在尝试将一个JavaScript对象复制到一个网格项中,对吗?

我们假设你有新值val:

var val = {
    Id : 1,
    name: "Eric",
    age: 12
};
Run Code Online (Sandbox Code Playgroud)

并且您想要在选定的行中复制它.

有几种方法可以做到:

  1. 你刚刚做了什么
  2. 迭代不同的键val并复制值.
  3. 使用jQuery扩展.

选项2.

for (var key in val) {
    if (val.hasOwnProperty(key)) {
        dataitem.set(key, val[key]);
    }
}
Run Code Online (Sandbox Code Playgroud)

选项3.

$.extend(item, val);
item.set("uid", kendo.guid());
Run Code Online (Sandbox Code Playgroud)

第一条指令执行valinto 的深层复制item.第二条指令dirty只是通过更改UID来生成项目.

注意:您不需要使用更新每个字段set,只需更改一个字段,所有字段都将更新.