2012-04-28 13 views
1

I持って、次のタブ定義:ExtSJ 3.3.1 grouptabpanelハウツー変更タブ

var viewport = new Ext.Viewport({ 
      layout:'fit', 
      items:{ 
       xtype: 'grouptabpanel', 
       tabWidth: 150, 
       id: 'tabPanel', 
       activeGroup: undefined, 
       items: [aItems1] 
      } 
      }); 
aItems1は、例えば、配列の配列です

aItems1[0] = { 
      activeTab:1, 
      items: [ 
      { 
       title: 'foo', 
       tabTip: 'foo' 
       },{ 
       id:'main-foo1', 
       title: 'foo1', 
       tabTip: 'foo1', 
       iconCls: 'x-icon-page', 
       style: 'padding: 10px;', 
       layout:'fit', 
       items: [new Inp.Demands()] 
       }, 
      { 
       id:'main-foo2', 
       title: 'foo2', 
       tabTip: 'foo2', 
       iconCls: 'x-icon-exit' 
       }] 
      }; 

そして、私は、タブを有効にする必要があります "メインfoo2 '。

var tabPanel = Ext.getCmp('tabPanel'); 
tabPanel.setActiveTab('main-foo2'); 

しかし、このコードは変更されませんでした。

tabPanel.setActiveTab(NUMBER)を使用してアクティブなグループを変更できますが、正確なタブを開くにはどうすればよいですか?

答えて

1

この実装のように見えますが、実際には2つのTabPanelsを使用しています(実際はありません)。したがって、アクティブなタブを設定するには、グループにはsetActiveGroupsetActiveTabが必要です。

ので開きたいタブのexactTabId与えられ、このような何かがうまくいくかもしれない:

var tab = Ext.getCmp(exactTabId); 
var tabGroup = tab.ownerCt; 
var groupingPanel = tabGroup.ownerCt; 

groupingPanel.setActiveGroup(tabGroup); 
tabGroup.setActiveTab(tab); 

私がコールする利用可能な方法のガイドとしてGroupTabPanelGroupTabを使用していました。

-3
aItems1[0] = { 
      activeGroup:1, //This property is used to activate a specific item 
      items: [ 
        { 
        title: 'foo', 
        tabTip: 'foo' 
       },{ 
        id:'main-foo1', 
        title: 'foo1', 
        tabTip: 'foo1', 
        iconCls: 'x-icon-page', 
        style: 'padding: 10px;', 
        layout:'fit', 
        items: [new Inp.Demands()] 
       },{ 
        id:'main-foo2', 
        title: 'foo2', 
        tabTip: 'foo2', 
        iconCls: 'x-icon-exit' 
      }] 
}; 
+1

ようこそスタックオーバーフロー。あなたはあなたの答えを詳しく説明できますか? –

+0

多分あなたは短いテキストの説明を残すことができます... –