4
grid.dataItem(selectedRow) 

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

此对象具有该网格选定行的所有列。有没有办法遍历所有列并更新。还是我必须这样做:

dataitem.set("Id", 1);
dataitem.set("name", Eric);
dataitem.set("age", 12);
4

1 回答 1

7

据我了解,您正在尝试将一个 JavaScript 对象复制到一个 Grid 项目中,对吗?

假设您在 中具有新值val

var val = {
    Id : 1,
    name: "Eric",
    age: 12
};

并且您想将其复制到选定的行中。

有几种方法可以做到:

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

选项 2。

for (var key in val) {
    if (val.hasOwnProperty(key)) {
        dataitem.set(key, val[key]);
    }
}

选项 3。

$.extend(item, val);
item.set("uid", kendo.guid());

第一条指令执行valinto的深层复制item。第二条指令dirty仅通过更改 UID 来制作项目。

注意:您不需要使用 更新每个字段set,更改一个就足够了,所有字段都会更新。

于 2013-08-14T22:59:14.050 回答