在 EXTJS 中启用多选网格时面临问题



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

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

提前谢谢...

    rowdeselect     : function () {
        setDetail();
    }

只要您取消选中单个复选框,此部分也会禁用删除按钮。代码工作正常。你的逻辑在这里是错误的。您可以通过维护一个计数器来执行此操作,该计数器会根据每个复选框选择而变化。(+1 如果选中.. -1 如果未选中),在基于计数器的 setDetail 方法中,您可以启用或禁用删除按钮。

最新更新