0

チェックボックス選択モデルのあるグリッドがあります。ここで問題が発生しました。選択したレコードのいずれかを選択解除すると、削除ボタンが無効になります(まだ一部のレコードが選択されています)。レコードを選択したときに削除ボタンを有効にする必要があります。これが私が使用しているコードです、

    function setDetail(action, r){
        switch (action) {
            case 'update':                                                  
                Ext.getCmp('delete').enable();
            break;
            default:
                Ext.getCmp('delete').disable();
            break;
        }
    };

    var checkboxselection = new Ext.grid.CheckboxSelectionModel({
      singleSelect: false,
      listeners: {
        'selectionchange' : function(sm) {

        },
        rowselect       : function(sm, i, r) {
            selectedRecord.idProperty = r.get('pos');
            setDetail('update', r);
        },

        rowdeselect     : function () {
            setDetail();
        }

      }
    });

よろしくお願いします。

4

1 に答える 1

0
    rowdeselect     : function () {
        setDetail();
    }

このパートでは、チェックボックスを1つでも選択解除すると、削除ボタンが無効になります。コードは正常に機能しています。あなたの論理はここで間違っています。これを行うには、チェックボックスの選択ごとに変化するカウンターを維持します。(チェックされている場合は+1。チェックされていない場合は-1)。カウンターに基づくsetDetailメソッドで、[削除]ボタンを有効または無効にできます。

于 2012-08-14T07:23:57.993 に答える