kendo uiグリッドデータソースをソートに同期する方法
-
21-12-2019 - |
質問
大丈夫、剣道UIグリッドを使用するいくつかの従来のコードを持っています。
グリッドを並べ替えた後、jQuery選択された「TR」リストを繰り返すことで、各行に対応するDataSource項目を読み取り、その行自体の索引に基づいてデータソース項目を選択することができる必要があります。
グリッドがソートしたときにデータソースがソートされないため、各行のインデックスを取得して、このように対応するデータソース項目を調べることはできません。
$('td:nth-child(' + colIndex + ')', $('tbody', grid.element).eq(0)).each(
function (iIndex) {
var td = $(this);
var tr = td.parent();
var data = grid.dataSource.data()[iIndex];
if (data.Status.toLowerCase() !== 'c') {
totalBalanceDue = (totalBalanceDue - data.Payment) > 0 ? (totalBalanceDue - data.Payment) : 0;
};
td.html('$' + totalBalanceDue.formatMoney(2, '.', ','));
}
);
. 解決 2
この質問に答えなければならないように見えます。
文書とWebを洗練することによって、私が近づいている方法は必ずしも正確ではありません。GridViewの行と一致するように配列をソートしようとする代わりに、DataSource.getByIid()関数を使用して、DataSource.data()配列から対応するDataItemを取得できます。。
これは私がそれを必要とするように働いています。
$('td:nth-child(' + colIndex + ')', $('tbody', grid.element).eq(0)).each(
function (iIndex) {
var td = $(this);
var tr = td.parent();
//gets the corresponding dataitem for the selected row.
var data = grid.dataSource.getByUid(tr.data("uid"));
if (data.Status.toLowerCase() !== 'c') {
totalBalanceDue = (totalBalanceDue - data.Payment) > 0 ? (totalBalanceDue - data.Payment) : 0;
};
td.html('$' + totalBalanceDue.formatMoney(2, '.', ','));
}
);
. 所属していません StackOverflow