Я использую treePanel
, в котором один столбец использует widgetColumn
с комбо внутри ячейки.
Ниже приведен пример кода.
{
text: 'TC',
dataIndex: 'scrTC',
xtype: 'widgetcolumn',
widget: {
xtype: 'combo',
store: 'TCStore',
valueField: 'value',
displayField: 'displayValue',
matchFieldWidth: false,
}
}
Когда я изменяю значения комбо для нескольких строк, а затем раскрываю все дочерние элементы в сетке, все комбо-значения снова сбрасываются до значения по умолчанию. Не знаю, в чем здесь проблема.
Код магазина:
Ext.define('TC', {
extend: 'Ext.data.Store',
storeId: 'TCStore',
model: 'CommonModel',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'resources/data/tree/TC.json'
}
});
Снимок экрана панели дерева:
Когда я нажимаю на другой дочерний узел, например 3 или 4, он сбрасывает значение для всех комбо во всех строках.
Спасибо за помощь.
Код меняется после ответа ниже,
что приводит к неопределенной ошибке getRecord.
Ext.define('MyTree', {
extend: 'Ext.tree.Panel',
reference: 'myTree',
columns: {
item:[{
text: 'TC',
dataIndex: 'scrTC',
xtype: 'widgetcolumn',
widget: {
xtype: 'combo',
store: 'TCStore',
valueField: 'value',
displayField: 'displayValue',
matchFieldWidth: false,
listeners: {
change: function (combo) {
if (combo.hasFocus) {
var treeview = combo.up('myTree'), //myTree is reference of my treepanel
record = treeview.getRecord(combo.el.up('tr')); ///getting error here
record.set('scrTC', combo.getValue());
}
}
}
}
}]
}
});