Model view controller ExtJS 4-如何从MVC中的视图访问多个存储?
我正在尝试使用新的MVC方法在ExtJS4中构建一个应用程序。 我有一个网格,用户可以在其中Model view controller ExtJS 4-如何从MVC中的视图访问多个存储?,model-view-controller,grid,extjs4,Model View Controller,Grid,Extjs4,我正在尝试使用新的MVC方法在ExtJS4中构建一个应用程序。 我有一个网格,用户可以在其中单击行上的,然后编辑完成Ext.window。 此带有选项卡的Ext.window在控制器中定义为视图。我有两个问题: 1)该窗口有两个网格,我希望在单击选项卡时从商店填充。在定义网格的存储时,我无法访问它,即使它在我的控制器中被拒绝。我试过了 ... xtype:'grid', store:MyApp.store.Products columns:[..] ... 但是没有运气 还尝试为视图定义多个
单击行上的
,然后编辑完成Ext.window。
此带有选项卡的Ext.window
在控制器中定义为视图。我有两个问题:
1)该窗口有两个网格,我希望在单击选项卡时从商店填充。在定义网格的存储时,我无法访问它,即使它在我的控制器中被拒绝。我试过了
...
xtype:'grid',
store:MyApp.store.Products
columns:[..]
...
但是没有运气
还尝试为视图定义多个存储:
Ext.define('MyApp.view.Edit', {
extend:'Ext.window.Window',
store:['Products','Countries']
...
但也没有运气。如果我在视图中只定义了一个存储,我可以使用this.Countries
访问它
2)我的第二个问题部分相关
Ext.window
是一个表单,其中填充了单击的网格行中的数据
如何使用推送到Ext.window窗体中的数据填充其中一个网格?默认情况下,它是否应该有一个空存储,然后在选项卡click
上有一个侦听器?或者我可以将数据对象推入其中吗
感谢您的帮助 要回答第一个问题,您需要参考控制器中的存储。您可以在控制器中执行类似操作
stores : ['Products', 'Countries'],
models : ['Products', 'Countries'],
refs: [
{ref: 'mytabpanel', selector: 'mytabs'}
],
init: function() {
this.control({
'mytabs': {
tabchange : this.loadTabData
},
//create a onProductsStoreLoad method to handle stuff
this.getProductsStore().on({
scope: this,
load : this.onProductsStoreLoad
});
loadTabData: function() {
var activeTab = this.getMytabpanel().getActiveTab();
//Do whatever you need
}
非常感谢。逻辑部分确实需要转到控制器。