2013-10-27 41 views
0

我想動態更改我的存儲區。我有extJs樹面板,作爲window.widget的項目。我想動態改變這個面板的存儲。我的邏輯如下: aJax請求被髮送到我的控制器和cotroller返回jsonObject。我不會將這個由我的控制器返回的jsonObject設置爲我的樹面板的NEW商店,並且只刷新樹面板。這是我迄今爲止所做的,但動態更改不起作用。 請記住,用於存儲的我的json對象被創建並存在內存中。一切正常,直到新的商店出現,並沒有以我嘗試的方式獲得商店。ExtJs如何動態更改樹存儲區的存儲

我的店:

var store = Ext.create('Ext.data.TreeStore', { 
    root: { 
     id: 'rootNode', 
     expanded: true, 
     children: childrenParam 
    } 
}); 

和我TreePanel中:

xtype: 'treepanel', 
region: 'west', 
id: 'navigation', 
title: 'Tree of builds', 
width: "30%", 
height: "100%", 
layout: 'fit', 
rootVisible: false, 
store: store, 
split: true, 
autoScroll: true, 
collapsible: true, 
floatable: false 
... 

我曾嘗試是:

var myPanel = Ext.getCmp('navigation'); 
myPanel.store.tree.root.childNodes = result; 

,其中結果是JSON對象,它是從我的控制器返回。這個json對象很好,但商店的更改無法正常工作。

預先感謝您的幫助!

回答

4

希望這有助於:

treePanel.reconfigure(myNewStore, newStoreCols); 

,然後你要調用此代碼:

myNewStore.setRootNode(myNewStore.getRootNode()); 
+0

謝謝Rajinder! – user2739823

0

您的使用也Ext.getCmp('treepanelId').setStore(myNewStore);