ExtJS 4:更改组合框中的数据(celleditor)
ExtJS 4: Change data in combobox (celleditor)
我使用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()
,应该通过更改产品编辑器中的值来使用。
所以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);
}
因此,当我在_onProductChanged
中首先更改product-editor
值(device-editor
尚未激活)时,我得到了Ext.getCmp("device-editor")
的未定义。
但如果device-editor
已经打开,然后我更改了一个产品,那么一切都会正常工作。
顺便说一句,我还尝试使用StoresManager
和新数据加载来获取存储,但在这种情况下,存储包含新值,组合框显示旧项。
有人能帮我解决问题吗?
谢谢,安德烈。
尝试使用Ext.grid.column.Column.getEditor
方法,而不是按id查找编辑器。如果尚未创建编辑器,则此方法应创建编辑器。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 有时数据是't显示在浏览器中
- React中的数据集表示
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- ExtJS 4:更改组合框中的数据(celleditor)