面对Multi Select的问题在EXTJS中启用Grid

时间:2012-08-14 06:45:16

标签: javascript extjs extjs3

我有一个带checkboxselectionmodel的网格。这里我遇到了一个问题,当我取消选择任何选定的记录时,删除按钮将被禁用(仍然选择了一些记录)。我需要在选择任何记录时将删除按钮设置为启用。    这是我使用的代码,

    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();
        }

      }
    });

提前谢谢......

1 个答案:

答案 0 :(得分:0)

    rowdeselect     : function () {
        setDetail();
    }

只要取消选中一个复选框,此部件就会禁用您的删除按钮。代码工作正常。你的逻辑错了。您可以通过维护一个根据每个复选框选择而更改的计数器来完成此操作。 (如果选中则为+1,如果未选中则为-1),并且在基于计数器的setDetail方法中,您可以启用或禁用“删除”按钮。