У меня есть treePanel с widgetColumn, который включает в себя виджет combobox с текстом по умолчанию.Мое требование заключается в том, что когда я выбираю текст с дефальтом, одна новая запись должна быть вставлена в хранилище, а также сохранена в базе данных.
{
text: 'TC',
dataIndex: 'scrTC',
xtype: 'widgetcolumn',
widget: {
xtype: 'combo',
store: 'TCStore',
valueField: 'id',
displayField: 'name',
matchFieldWidth: false,
listeners: {
select: 'selectDefault'
}
}
}
Метод контроллера:
selectDefault: function(combo){
loadData(combo, id, name); //there is a logic to get id & name, then pass it to loadData method
}
loadData: function(combo, id, name){
var store = combo.getStore();
store.insert(0,{id: id, name: name});
store.sync();
combo.setValue(id);
}
Проблема возникает, когда яПри первом выборе текста по умолчанию метод синхронизации хранилища не вставляет данные в базу данных, но в комбинированном списке отображается новое значение и сохраняется также новое значение (видно с помощью отладчика).Когда я выбираю снова, данные вставляются в базу данных.
Я Отлаживаю код, поток выполнения корректен, единственное, что синхронизирует, не вызывает backend для вставки данных в первый момент, но работает во второй раз.Может ли кто-нибудь помочь.