0

データを編集し、Jquery を介して Telerik MVC Grid をリバウンドしました。問題は、「新しい」行にアクセスするか、言い換えると、再バインド処理後に生成された行にアクセスする必要があるということです。何らかの理由で、私の Jquery 関数はグリッドから古いデータを読み取ります。これは、再バインド プロセスの前のデータです。

<script type="text/javascript">
    var categoryID;
    var subCategoryID;
    var categoryForSubCategoryId;

    function onChangeSubCategories(e) {
    var url = '/SubCategory/FindSubCategoryIdByName/';
    $.ajax({
        type: 'GET',
        data: { name: e.value },
        dataType: 'html',
        url: url,
        success: function(data) {
            var ids = data.split('###');
            subCategoryID = ids[0];
            categoryID = ids[1];

            var subCategoryGrid = $('#SubCategoryGrid').data('tGrid');
            subCategoryGrid.rebind();
            var productGrid = $('#ProductGrid').data('tGrid');
            productGrid.rebind();

            $('#CategoryGrid tr').each(function () {
                var tr = this;
                if (tr.cells[0].innerHTML == categoryID) {
                    $(this).toggleClass('t-state-selected');
                }
                else if ($(this).hasClass('t-state-selected')) {
                    $(this).toggleClass('t-state-selected');
                }
            });

            $('#SubCategoryGrid tr').each(function () {
                //TODO: every row here is the old data
                var tr = this;
                if (tr.cells[0].innerHTML == subCategoryID) {
                    $(this).toggleClass('t-state-selected');
                }
                else if ($(this).hasClass('t-state-selected')) {
                    $(this).toggleClass('t-state-selected');
                }
            });
        }
    });
}
</script>

再バインド後にグリッドから行にアクセスする方法について、誰かが私に指針を与えることができますか?

4

1 に答える 1

0

rebindメソッドはグリッドを再バインドし、グリッドの状態は失われます。Grid を新しいオブジェクト セットにバインドする場合は、dataBindメソッドを使用する必要があります。

于 2013-02-13T19:25:23.247 に答える