Я использую Ext.form.field.Combobox
в качестве редактора ячеек на панели сетки:
product: {
xtype : "anypartfiltercombobox",
id : "product-editor",
store : new Ext.data.Store({
model: "Product",
data: APP.feedbacks.aUserProducts
}),
displayField : "name",
valueField : "id",
queryMode : "local",
emptyText : "Select game",
allowBlank : false,
forceSelection: true,
listeners : {
select: this._onProductChanged
}
},
device: {
xtype : "anypartfiltercombobox",
id : "device-editor",
store : Ext.create("stores.Devices", {
storeId: "device-editor-store",
data : APP.feedbacks.aProductDevices
}),
displayField : "name",
valueField : "id",
queryMode : "local",
emptyText : "Select device",
allowBlank : false,
autoRender : true,
forceSelection: true
}
В stores.Devices
магазине У меня есть метод loadByProduct()
, который следует использовать путем изменения значения в product редактор.
Таким образом, источник this._onProductChanged
:
_onProductChanged = function(oField)
{
var iProductId = +oField.getValue(),
oDevicesEditor = Ext.getCmp("device-editor");
oDevicesEditor.store.loadByProduct(iProductId);
// Ext.StoresManager.lookUp("device-editor-sore").loadByProduct(iProductId);
}
Поэтому, когда я сначала изменяю значение product-editor
(device-editor
еще не было активировано) в _onProductChanged
У меня есть undefined для Ext.getCmp("device-editor")
.
Но если device-editor
уже открыто, а затем я меняю продукт, то все работает правильно.
КстатиЯ также пытался получить хранилище, используя StoresManager
и новые загрузки данных, но в этом случае хранилище содержит новые значения, а выпадающий список показывает старые элементы.
Кто-нибудь может мне помочь с решением?
Спасибо,Андрей.