2012-02-01 66 views
1

我想調用標題容器的getGridColumns()方法,但我沒有訪問網格的標題容器。我試過以下內容:訪問Extjs4中的標題容器

initComponent : function() { 
      var grid = this; 

    var headerCt = grid.getView.getHeaderCt(); //here 
    var menuItems = new Array(); 
    menuItems = headerCt.getGridColumns(true); 
       ... 
} 

但這不起作用。它給我錯誤,因爲'對象不支持這個屬性或方法'。有什麼建議麼?

+2

只是一個快速的想法:var headerCt = grid.getView()。getHeaderCt();你錯過了()在getView – 2012-02-01 11:57:06

+0

@bhakti waghmare我懷疑,如果你有聊天權限[看這個](http://chat.stackoverflow.com/rooms/7451/extjs-3-x-4-x-java-腳本框架) – 2012-02-20 11:22:04

回答

0

我已經能夠滿足我的大多數需求,通過設置監聽器來定義網格的列(通過傳入一個對象而不是一個數組)來訪問網格頭容器。然後,在列對象的項目中設置您的列數組。 例子:

Ext.create('Ext.grid.Panel', { 
    ..., 
    columns : { 
    listeners : { 
     boxready : function(headerCt) { 
     console.log(headerCt); 
     } 
    }, 
    items : [] 
    }, 
    ... 
}); 

一旦你的headerCt,那麼你可以調用getGridColumns()getVisibleGridColumns()。 希望這有助於。