私の要件は、グリッドの選択されたすべての行をループし、指定された値でデータソースのフィールドを設定することです。私は次のコードを持っており、剣道UIグリッドの選択された行を反復処理します。
$('#grid').data("kendoGrid").select().each(function () {
if($('#grid').data().kendoGrid.dataSource.data()[$(this).index()] != null ){
var myItem = $('#grid').data().kendoGrid.dataSource.data()[$(this).index()];
myItem.set(myFiled, myValue);
leg.push(myItem);
}
});
問題は、コードがmyItem.set(myFiled、myValue);の行に到達した後です。インデックスは値-1を取得し、次の反復でもこの値を保持します。
.setメソッドを削除すると、同じ動作がなく、インデックスが正しい値を保持していることがわかります。なぜこれが起こっているのですか?
さらに、行の違いは何ですか:
i)$('#grid')。data( "kendoGrid")。dataItem($(this))。set(myField、myValue);
ii)$('#grid')。data()。kendoGrid.dataSource.data()[$(this).index()]。set(myField、myValue);
最初はグリッド上の値に関係していることを私は知っています。残念ながら、(i)に示すように値を設定することはできませんでした。行(i)に示されているコードは、集合関数ではまったく機能していないようです。
ここから例を取り上げました。ケース(i)と(ii)について、Javascriptを使用してグリッド内の単一のKendoグリッド行とKendo-UIグリッドセット値を更新します。