grid.dataItem(selectedRow)
これは kendo.data.ObservableObject である選択された行を返します。
このオブジェクトには、そのグリッドの選択された行のすべての列があります。すべての列を反復処理して更新する方法はありますか。または、次のようにする必要がありますか:
dataitem.set("Id", 1);
dataitem.set("name", Eric);
dataitem.set("age", 12);
grid.dataItem(selectedRow)
これは kendo.data.ObservableObject である選択された行を返します。
このオブジェクトには、そのグリッドの選択された行のすべての列があります。すべての列を反復処理して更新する方法はありますか。または、次のようにする必要がありますか:
dataitem.set("Id", 1);
dataitem.set("name", Eric);
dataitem.set("age", 12);
私が理解している限り、あなたがしようとしているのは、1 つの JavaScript オブジェクトを Grid アイテムにコピーすることですよね?
に新しい値があると仮定しましょうval
:
var val = {
Id : 1,
name: "Eric",
age: 12
};
そして、選択した行にコピーします。
それにはいくつかの方法があります。
val
、値をコピーします。オプション 2。
for (var key in val) {
if (val.hasOwnProperty(key)) {
dataitem.set(key, val[key]);
}
}
オプション 3。
$.extend(item, val);
item.set("uid", kendo.guid());
最初の命令は、へのディープ コピーを実行val
しitem
ます。2 番目の命令はdirty
、UID を変更するだけでアイテムを作成します。
注:を使用してすべてのフィールドを更新する必要はありませんset
。1 つ変更するだけで十分で、すべてが更新されます。