質問

大丈夫、剣道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, '.', ','));
            }
        );
.

他のヒント

これはすべて必要ではありません。使用する必要があるのは、 ()メソッドです。データソースの。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top