如何根据复选框状态 extJs 6 禁用网格上的单元格



我需要根据复选框状态更改禁用某些单元格。我在复选框列中添加了一个侦听器:

listeners: {
    checkchange: function( me , rowIndex , checked , record , e , eOpts) {
        var row = me.getView().getRow(rowIndex);
        var columnIndex = Ext.getCmp('MyColumnIdToDisable').fullColumnIndex;
        Ext.get(row.childNodes[columnIndex]).setDisabled=!checked;
    }        
}

但是我得到了这个错误:

未捕获的类型错误: Ext.get(...).设置禁用不是一个函数

您可以使用我已经有示例this.disabledCls它的功能可能与您需要的相同。它禁用特定单元格。

https://fiddle.sencha.com/#view/editor&fiddle/1lvm

onCheckcolumnCheckChange: function (checkcolumn, rowIndex, checked, record, eOpts) {
    // we need to get a grids view
    var view = Ext.first('#MySpecialGridId').getView();
    var cell = view.getCell(rowIndex,1);
    if (checked) {
        // add disabled cls -> disabled
        cell.addCls(this.disabledCls);
    }else{
        // remove the disabled cls -> enabled
        cell.removeCls(this.disabledCls)
    }
}

最新更新