2017-01-30 1 views
1

Мне нужно отключить статус ячейки по статусу флажка. добавить слушателя на CheckBox колонке:Как отключить ячейку на сетке в соответствии с статусом флажка 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; 
    }   
} 

Но отображается эта ошибка:

Uncaught TypeError: Ext.get(...).setDisabled is not a function

ответ

1

Вы можете использовать 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) 
    } 
} 
+0

я столкнулся с проблемой с помощью addCls, когда я нажимаю на первый флажок второй заблокирован, но если я использую TAB, то я могу проверить отключенное флажок –

+0

@RobertoPegoraro я вижу. Я никогда этого не замечал. Но вы можете использовать событие http://docs.sencha.com/extjs/6.2.0/classic/Ext.grid.column.Check.html#event-beforecheckchange, если это даже возвращает false, редактирование не выполняется. Таким образом, в этом случае вы можете chcek position/if cell hasCls отключить и не разрешить dit. – pagep

Смежные вопросы