简体   繁体   English

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

[英]Facing issue on Multiselect enabled Grid in EXTJS

I have a grid with checkboxselectionmodel. 我有一个带有checkboxselectionmodel的网格。 Here i have faced a problem, The delete button will be disabled when I am deselecting any of the selected record (still some records are selected). 在这里我遇到了一个问题,当我取消选择任何选定的记录(仍然选择了一些记录)时,删除按钮将被禁用。 I need to make the delete button as enabled when any record is selected. 选择任何记录时,我需要将删除按钮设为启用状态。 Here is the code I am used, 这是我使用的代码,

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

      }
    });

Thankz in advance.... 提前谢谢...。

    rowdeselect     : function () {
        setDetail();
    }

This Part disables your delete button whenever you deselect even a single checkbox. 每当您取消选中一个复选框时,该部分都会禁用删除按钮。 The code is working fine. 该代码工作正常。 Your logic is wrong here. 您的逻辑在这里是错误的。 You can do this by maintaining a counter which changes based on every checkbox selection. 您可以通过维护一个计数器来实现此目的,该计数器根据每个复选框的选择而变化。 (+1 if checked.. -1 if unchecked) and in your setDetail method based on the counter you can enable or disable your Delete button. (如果选中,则为+1。如果未选中,则为-1),并在基于计数器的setDetail方法中可以启用或禁用“删除”按钮。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM