2012-08-22 54 views
1

我正在處理具有多列數據的網格。我希望用戶能夠移動列(通過在網格上將enableColumnMove屬性設置爲true),但我還需要能夠將列順序重置爲我啓動網格的順序。ExtJS4網格:重置列順序按鈕

沒有方法可以在創建後更改列的dataIndex屬性。有沒有不同的方式去做這件事?

回答

2

您可以使用grid.reconfigure(null, grid.initialConfig.columns)將網格重置回其原始狀態。第一個參數是在網格上設置一個新的商店,但是如果讓它保持空/未定義,那麼網格商店將不受影響。

請注意,重新配置方法可能會產生意想不到的副作用,即鎖定的網格和具有嵌套列標題的網格。但對於大多數網格來說,它應該可以正常工作。

+0

你好,謝謝你回答我的問題。我厭倦了你的策略,但它沒有奏效,我可能錯過了一些東西。你應該定義initialConfig還是自動定義?我可以通過控制器中的引用來調用它? – alex9311

+0

當通過Ext.create創建網格時,應該自動定義initialConfig屬性。如果您有對電網的參考,則可以訪問它。當你打電話重新配置時會發生什麼? – Eric

+0

我稱之爲沒有事情發生。我只使用Ext.create創建包含我的面板的視口,其中包含我的網格。我在面板的initComponent:function()中將網格添加到我的面板中,代碼爲:initComponent:function(){ this.items = [xtype:'grid' }]; this.callParent(arguments); } – alex9311