2013-05-30 72 views
0

我想打電話給重新配置在網格上改變列文這樣的例子煎茶的Ext JS更改列文本

http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#reconfigure-grid

但是我想從沒有任何外部控制做網格。

需要找到參考網格,因爲當我將它傳遞到一個變量,我獲得通話時,沒有方法的錯誤重新配置

任何幫助讚賞感謝

編輯

如果你看看帖子中的鏈接,那麼這個功能:

onShowOfficesClick: function(){ 
var grid = this.down('grid'); 
Ext.suspendLayouts(); 
grid.setTitle('Employees'); 
grid.reconfigure(this.createOfficeStore() 

顯示如何重新配置​​網格。

我想要做的就是從外部功能網格參考,不知道其可能

下面是一些我的代碼

var Social_Environment_Grid = Ext.create('Ext.data.Store', { 

轉到創建一個存儲,不所以相關

然後是一個單獨的jQuery函數我想打電話給

Social_Environment_Grid.reconfigure(false, newColumArray) 

,但我得到一個錯誤Social_Environment_Grid有沒有方法重新配置,所以我想這是不正確的對象引用

希望這是有道理

編輯固定

感謝修正它大家的意見和答案這裏是我的問題

var Panel1 = Ext.create('Ext.panel.Panel', { 
    layout: 'fit', 
    height: 400, 
    layout: { 
     type: 'vbox', // Arrange child items vertically 
     align: 'stretch', // Each takes up full width 
     padding: 5 
    }, 
    items: [{ // Results grid specified as a config object with an xtype of 'grid' 
     xtype: 'grid', 
     id: 'Panelxx1', 
     columns: [ 

然後調用

Ext.getCmp('Panelxx1').reconfigure(false,alternativeIndex); 

我沒有引用電網,也不能正確地調用對象的引用,感謝大家的幫助

+0

在Ext.grid.Panel.prototype中有一個'reconfigure'方法,除非你明確地刪除它(從原型!),否則你最終得到的變量不是對網格的引用面板...你能告訴我們你的代碼,所以我們可以看到有什麼問題嗎? – rixo

+0

感謝您的回覆rixo,我在問題 –

+1

中增加了一些代碼您的代碼沒有意義。您聲明的變量是指商店,而不是網格。 –

回答

1

必須以更新您的網格視圖做的是調用網格對象上reconfigure方法。也就是說,代碼示例中的grid變量。

doc說明,本方法接受一個新的存儲作爲第一個參數,和一新的列陣列作爲其第二個,兩個是可選的。

所以,如果你的數據模型變化的領域,你必須創建一個新的存儲與更新的領域。如果您的商店基於模型,則可以先使用靜態setField方法(例如,My.Model.setFields(...)),然後使用此模型創建新商店,並將其傳遞給網格的reconfigure方法。

如果您的數據字段沒有更改,您可以跳過第一個參數,就像在您的示例中那樣,並且僅爲新列使用數組。

現在,您的問題似乎是要在您想要調用reconfigure的位置獲取對您的網格對象的引用。有很多方法可以實現這一點。最簡單的一個(除了使用一個全局變量,你應該永遠不會這麼做),就是給你的網格配一個id配置選項,當你需要你的網格時,你可以得到一個Ext.getCmp(myGridId)的引用。這可能不是您的情況中最乾淨的,但我們需要知道您想調用reconfigure的環境,以便提供更多適當的建議。

+0

謝謝,我會盡快嘗試這個 –