0

セルにドロップダウン リストがある剣道 ui グリッドがあります。問題は、誰かがドロップダウンリストで新しい値を選択すると、選択した行が失われることです。誰かがこれで私を助けることができますか?

4

1 に答える 1

0

おそらく、DropDownList 内の項目を選択すると、バインドされたデータ項目の値が変更されます。これにより、DataSource が「変更」イベントを発生させ、テーブルが更新する必要があることを認識します。Kendo Grid の記述方法では、DataSource から変更イベントを取得すると、テーブル セルを再作成します。既存のテーブル セルが DOM から削除され、新しいセットがその場所に追加されると確信しています。これが発生すると、選択が削除されます。


選択した行を保持する 1 つの方法は、関数ハンドラーをグリッドの「変更」イベントに追加し、選択したデータ項目の uid を保存することです。次に、「dataBound」イベントで、その行を再選択できます。例えば:

var selectedUid;

$("#grid").kendoGrid({
    ...

    change: function () {
        selectedUid = this.select().data("uid");
    }

    dataBound: function () {
        if(selectedUid) {
            this.select($(this.element).find('tr[data-uid="' + selectedUid + '"]'));
        }
    }
});
于 2013-09-07T13:10:40.813 に答える