У меня есть Ext.grid.Panel
с набором столбцов. Эта сетка фильтруется, и в зависимости от фильтра я хотел бы определить редактор для столбца.Как настроить редактор для столбца программно в сетке
Моя сетка:
Ext.define('Mb.view.MyPanel', {
extend: 'Ext.grid.Panel',
columns: [
{text: 'Order #', dataIndex: 'id'},
{text: 'Action', dataIndex: 'type',
renderer: function(value){
if(value == 'BP') return Lang._('Veuillez choisir')
return ''
}
},
Теперь я хотел бы сделать что-то вроде:
var panel = Mb.app.getView('MyPanel');
if (condition == true) {
panel.getColumns[1].setEditor({
xtype: 'textfield',
...
})
}
Очевидно, что методы getColumns
и setEditor
не существует. Поэтому мне нужен другой способ активировать редактор в этом столбце.
Я не нашел способ доступа к определениям столбцов для их модификации и для повторной передачи сетки.
Можете ли вы дать мне подсказку, в каком направлении искать? Благодарю.
Я думаю, что получаю идею: я пишу 'getEditor (запись)' и возвращаю любое поле, подобное строке. Но где мне его определить? Как вариант конфигурации столбца? Это также означает, что могут быть разные редакторы на основе строк, правильно? –
С другой стороны, когда я хотел бы использовать метод setEditor для столбца, мне нужна ссылка на столбец, и Idon't не знает, как получить это от объекта grid. –
Да, вы просто определяете «getEditor()» для определения столбца. Посмотрите эту скрипку на пример: https://fiddle.sencha.com/#fiddle/2d – existdissolve