я использую extjs 4.0 и пытаюсь объединить редактируемую сетку с моделью выбора флажка.
Проблема в том, когда я нажимаю на флажок, я получаю это сообщение об ошибке
Uncaught TypeError: Object [object Object] has no method 'getEditor'
мне ясно, что столбец флажка не должен редактироваться (в виде подключаемого модуля), поэтому функция getEditor отсутствует.
Я попытался определить прослушиватель beforeedit для компонента CellEditing, который пропускает редакцию для colIdx = 0, но даже не вызывается, потому что ошибка возникает непосредственно перед этим, в методе startEditByClick.
Итак, мой вопрос, должен ли я:
а) определить функцию getEditor NO-OP и связать ее с первым столбцом? я не знаю, возможно ли это вообще
б) определить слушателя, чтобы пропустить издание, когда colIdx = 0, который срабатывает до вызова функции startEditByClick? на каком событии какого компонента это будет?
c) игнорировать ошибки JavaScript, если он работает (: P)
вот код
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
Ext.define('RPV.view.aviso.AvisosList', {
extend: 'Ext.grid.Panel',
store: 'AvisosStore',
selModel: Ext.create('Ext.selection.CheckboxModel'),
plugins: [cellEditing],
initComponent: function () {
this.columns = [{
header: 'NIV',
dataIndex: 'niv',
flex: 1,
editable: false
}, {
header: 'NCI',
dataIndex: 'nci',
flex: 1,
editable: false
}, {
header: 'Tipo movimiento',
dataIndex: 'tipoMovimiento',
width: 130,
field: {
xtype: 'combobox',
typeAhead: true,
triggerAction: 'all',
selectOnTab: true,
store: 'TipoMovimientoStore',
lazyRender: true,
listClass: 'x-combo-list-small',
mode: 'remote',
minChars: 0,
valueField: 'descripcion',
displayField: 'descripcion',
emptyText: 'No especificado'
}
}, {
header: 'Observaciones',
dataIndex: 'observacionesDwr',
width: 130,
field: {
xtype: 'combobox',
typeAhead: true,
triggerAction: 'all',
selectOnTab: true,
store: 'ObservacionesStore',
lazyRender: true,
mode: 'remote',
minChars: 0,
valueField: 'descripcion',
displayField: 'descripcion',
autoSelect: false
}
}];
this.callParent(arguments);
}
});
ОБНОВЛЕНИЕ: нашел эту ссылку http://www.sencha.com/forum/showthread.php?137731-Using-checkbox-selection-model-in-the-editable-grid-produces-an-error&highlight=CellEditing
это говорит о том, что это ошибка, это уже исправлено в версии 4.1.0