2013-01-25 42 views
2

我在ExtJS 4上,並使用MVC方法。我創建了一個簡單的網格視圖類,並在我的控制器中爲該視圖添加了一個組件查詢類型'ref'。在初始的網格視圖本身中,我設置了幾個要隱藏的列,並且默認情況下會顯示一些列。使用這些設置呈現網格都可以正常工作。ExtJS grid'reset'

然後,我有一個按鈕,單擊該按鈕並根據一些其它條件的時候,會做出一些最初隱藏網格列可見。這也適用。

但我需要的是後電網「復位」到初始視圖(隱藏/可見的,因爲他們最初的正確列)的方式。

我試着不影響下面的各種排列:

var theGrid = this.getTheGrid(); 
theGrid.reconfigure(store, theGrid.initialConfig.columns); 
theGrid.getView().refresh(); 

我想我可以遍歷每一列和重置其「隱藏」狀態,但會覺得有隻「重置方式'回到課堂上的設置?建議嗎?

SOLUTION UPDATE

欣賞從tuespetre指針。對於任何人在未來磨磨蹭蹭尋找細節,這裏需要的是什麼(至少在我的實現):

  • 在視圖裏,移動列DEFS到一個變量

  • 在視圖裏,列在類內REF變爲:

    columns: myColumns, 
    
  • 內視圖,類內創建下面的函數:

    resetGrid: function(){ 
        this.reconfigure(null, myColumns); 
    }, 
    
  • 內的控制器:

    var theGrid = this.getTheGrid(); 
    theGrid.resetGrid(); 
    

回答

1

你只需要在您的視圖類創建一個函數來封裝功能。