我想定义存储companyList的data.store,因为我想稍后重用这个存储。
tbar: Ext.create('Ext.Toolbar', {
items: [
{
xtype : 'combo',
name : 'companyCode',
editable : false,
valueField : 'companyCode',
displayField : 'companyName',
triggerAction : 'all',
store: Ext.create('Ext.data.Store', {
fields: ['companyCode', 'companyName'],
proxy: {
type: 'ajax',
url: '/Reports/GetCompanyList/',
reader: 'json',
actionMethods: {
read: 'POST'
}
},
autoLoad:true
})
上面的代码是有效的,我想将商店放入应用程序文件夹下的商店文件夹中。
商店/CompanyList_store.js
Ext.define('App.store.CompanyList_store', {
extend: "Ext.data.Store",
fields: ['companyCode', 'companyName'],
proxy: {
type: 'ajax',
url: '/Reports/GetCompanyList/',
reader: 'json',
actionMethods: {
read: 'POST'
}
},
autoLoad: true
});
我在 Controller 中添加了这个商店。
Ext.define("App.controller.InventoryReport", {
extend: "Ext.app.Controller",
stores: ['Inventory_store', 'CompanyList_store'],
.
.
并将该商店添加到组合框商店,
tbar: Ext.create('Ext.Toolbar', {
items: [
{
xtype : 'combo',
name : 'companyCode',
editable : false,
valueField : 'companyCode',
displayField : 'companyName',
triggerAction : 'all',
store: 'CompanyList_store' //it does not work.
我做错了什么?如果有人知道请告诉我。
最佳答案
必须将商店的 storeId 属性设置为您从组合中调用的值
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-storeId
但在现实生活中,我建议使用 Deft 的依赖注入(inject)。
关于javascript - ExtJs4 MVC,组合框的数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10989897/