extjs4列隐藏在树面板中跨选项卡共享

extjs4列隐藏在树面板中跨选项卡共享,extjs4,treepanel,Extjs4,Treepanel,我的应用程序mvc就是这样设计的,在我的视图中有3个选项卡 Ext.define'App.view.cube.MainView'{ 扩展:“Ext.panel.panel”, .... 布局:“卡片”, ... 摘要:[{ xtype:'面板', 项目:[{ //包含两个选项的下拉列表 }] }], 项目:[{ xtype:'tabpanel', itemId:'mmtabs', 活动选项卡:1, 项目:[{ 标题:“已送达”, xtype:'treepanel',//我自己的xtype扩展了这

我的应用程序mvc就是这样设计的,在我的视图中有3个选项卡

Ext.define'App.view.cube.MainView'{ 扩展:“Ext.panel.panel”, .... 布局:“卡片”, ... 摘要:[{ xtype:'面板', 项目:[{ //包含两个选项的下拉列表 }] }], 项目:[{ xtype:'tabpanel', itemId:'mmtabs', 活动选项卡:1, 项目:[{ 标题:“已送达”, xtype:'treepanel',//我自己的xtype扩展了这个xtype id:'已送达:', itemId:'1' }, { 标题:“未服务”, xtype:'treepanel',//我自己的xtype扩展了这个xtype id:'未服务:', itemId:“0” }, { 标题:“总计”, xtype:'treepanel',//我自己的xtype扩展了这个xtype id:'总计:', itemId:'2' }] }] }; 基本上,有两个选项的下拉列表应该允许用户在网格树面板中查看所需的列。第一次加载应用程序时,用户在下拉列表中更改为不同的选项,列不会像应该的那样隐藏。但是,如果他导航到另一个选项卡,然后做同样的事情,一切都会按照它应该做的那样工作。我想不出这个问题

在上面的代码中,我正在重用

xtype:'treepanel',//我自己的xtype扩展了这个xtype 通过使用不同的itemid跨越三个选项卡,我希望这很好

在我的控制器中,我有一个切换到视图隐藏/显示特定列的功能 initialview迭代所有选项卡中的所有列,并设置适当的视图 在我的视图中的组合框上调用changeview

toggleView:函数cubemwwar,viewId{ 如果2==viewId{ cubemwvar.columns[1].setVisiblefalse; cubemwvar.columns[2].setVisiblefalse; cubemwvar.columns[3].setVisiblefalse; cubemwvar.columns[4].setVisibletrue; cubemwvar.columns[5].setVisibletrue; cubemwvar.columns[6].setVisibletrue; } 如果1==viewId{ cubemwvar.columns[1].setVisibletrue; cubemwvar.columns[2].setVisibletrue; cubemwvar.columns[3].setVisibletrue; cubemwvar.columns[4].setVisiblefalse; cubemwvar.columns[5].setVisiblefalse; cubemwvar.columns[6].setVisiblefalse; } },//在控制器的onlaunch上 初始视图:函数{ var numTabs=this.getCubeMainView.query'mmtabs'[0].items.length; 对于变量i=0;i启动时,我迭代了所有选项卡,将它们设置为活动,然后将第一个选项卡设置为活动。解决了这个问题

for(var i=0;i<numTabs ; i++)
{
    var tab = tabPanel.items.items[i];
    this.toggleView(tab,1);
    tabPanel.setActiveTab(i);
}
tabPanel.setActiveTab(0);
this.startingup = false;