2012-03-12 37 views
0

自動計算我用Ext.tab.Bar內網​​格面板的tbarExtJS的4:防止寬度

我的代碼是:

... 
tbar: [ 
    ... 
    "->", 
    this._getTabbar() 
] 
// where this._getTabbar() is: 
GridPanel.prototype._getTabbar = function() { 
    return Ext.tab.Bar({ 
     width: 850, 
     items: [ 
      {text: "Grid's Tab #1", closable: false}, 
      {text: "Grid's Tab #2", closable: false}, 
      {text: "Grid's Tab #3", closable: false}, 
      ... 
      {text: "Grid's Tab #N", closable: false} 
     ] 
    }); 
} 

其結果是,我得到正確的頂部工具欄,但在使用TabBar按鈕太短,我看不到自己的標籤。這意味着,製表鍵電網的標籤#看起來像網格式T ...

我試圖width參數手動添加到標籤的配置:

{text: "Grid's Tab #N", ..., width: 150} 

並沒有什麼,ExtJS的automaticaly爲每個按鈕計算相同的寬度。我試圖設置flex: false,而且什麼也沒有。

我想問你的是什麼,我應該做些什麼來防止彎曲狀寬度計算?如果我使用「長長的超長標籤按鈕」創建100500個按鈕,我想在標籤欄的所有按鈕中看到全文。

感謝您的幫助。

回答

0

我有點困惑。網格面板tbar配置是用於工具欄。 tbar的配置通常爲:

tbar: [ 
    { xtype: 'button', text: 'Button 1' } 
] 

工具欄不限於按鈕。這裏是一個非常繁忙的工具欄的各類領域http://jsfiddle.net/dbrin/PhAbR/embedded/result/

,另一方面標籤欄是一個選項卡面板的一個例子。這裏是什麼文件說:

「的TabBar內部有一個使用的TabPanel,通常不應該需要 手動創建」

不是說你不能這樣:),你試圖用製表符創建一個自定義組件?如果是這樣,爲什麼不使用常規標籤面板?

+0

好的,讓我解釋一下。爲什麼我使用標籤欄而不是按鈕集(工具欄的默認值)恰好是標籤和標籤欄的本地滾動。我的任務是創建網格由某些屬性(製表符)分隔。因此,當用戶更改活動選項卡時,數據存儲將重新加載相關數據。如果您知道任何解決方案如何爲Ext.container.ButtonGroup添加水平滾動(如在標籤欄中),我將非常感謝您的幫助。謝謝。 – 2012-03-13 10:05:45

+0

你有沒有嘗試用自動滾動將你的按鈕設置到容器中?我認爲hbox是你需要的佈局。 – dbrin 2012-03-13 16:54:44

+0

試過,沒...沒有。 'Ext.tab.Bar'具有HBOX佈局和HBOX佈局的文檔,表示根據父容器寬度自動計算子元素的寬度,以防止此用戶應將'layout.flex'屬性設置爲'0'或'undefined' 。這不工作了太多))我暫時固定當前問題'Ext.tab.Bar.minTabWidth'值,但仍在尋找解決方案。 – 2012-03-14 11:46:30