У меня есть сеточная панель, которая позволяет встроенное редактирование столбца. В этом столбце в качестве редактора используется поле со списком, и ни событие «изменение», ни событие «выбор» не дают мне чего-либо пригодного для возврата отредактированного значения для получения измененной строки из панели сетки.
Я считаю, что Ext плавает в поле со списком редактора, поэтому я не могу сделать что-то простое, как
combo.up()
Для возврата в сетку.
Вот панель сетки из вида:
{
xtype: 'gridpanel',
title: 'Important Projects',
id: 'importantProjectsGrid',
dockedItems: [],
flex: 1,
columns: [
{ header: 'Quote Name', dataIndex: 'QuoteName', flex: 4 },
{ header: 'Quote Status', dataIndex: 'QuoteStatusID', flex: 6, editor: {
xtype: 'combobox',
editable: false,
action: 'QuoteStatus',
selectOnTab: true,
store: 'statuses',
queryMode: 'local',
displayField: 'Description',
valueField: 'Description'
} }
],
store: 'myimpprojects',
selModel: {
selType: 'cellmodel'
},
plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})]
}
Вот код контроллера, относящийся к этому:
init: function () {
this.control({
'[action=QuoteStatus]': {
change: function (combo, new_value, old_value, opts) {
// I need to go back up from this combobox
// to get the row that this value was edited in
// to grab an ID value from that row's data
// in order to make an ajax request
}
}
});
},
Спасибо за любую помощь!