2011-05-02 16 views
8

我使用tree.Panel和TreeStore組件。我使用JSON文件來存儲我的數據,但我想知道,如何使用TreeStore升級我的數據?!如何使用TreeStore或TreeEditor組件更新數據?

我解釋我的問題:我有我的網頁上兩個部分組成:

Tree.Panel誰顯示與TreeStore和麪板數據來編輯數據,因爲我沒有找到如何直接編輯樹?!

我想使用提交按鈕來更新我的樹上的數據,但我不明白如何做到這一點?!

如果有可能?!

我不明白我可以如何添加新節點,升級節點和刪除節點?!

或者也許存在TreeEditor組件?

非常感謝幫助:)

+0

我有完全相同的問題。 TreeStore似乎沒有方法「添加」。 – stef 2011-05-05 08:21:35

+1

您可以發佈一些代碼,以便我們更好地瞭解您正在使用的內容... – neolaser 2011-05-13 00:29:22

回答

9

我想我們還沒有看到TreeEditor組件。但有些方法可以操縱現有的樹。您應該能夠使用NodeInterface的方法添加,更新和刪除樹節點。

你有這樣的方法:

  • 的appendChild
  • insertChild
  • 的insertBefore
  • removeChild之
  • 的replaceChild

等等

下面是一個示例代碼,你可以如何添加一個新的節點,以你的樹:

var node = myTreeStore.getRootNode(); 

node.appendChild({ 
    text: 'A New node' 
}); 

同樣你可以利用其它的方法來操作樹。要將節點插入到特定位置,您必須使用insertChild。對於此方法,您還必須指定位置。

簡而言之,編輯您的樹的接入點是您的TreeStore的getRootNode()方法。

+1

另外,如果有助於瞭解更多信息:我寫了一篇簡短教程,演示如何構建使用多個TreeStore的TreePanel ,同時從服務器加載靜態節點和模型節點:http://bit.ly/oTePLA – 2011-09-26 14:46:29

+0

它會在通過追加/插入節點更新TreeStore後更新樹面板上的視覺效果嗎?即如果我有兩個樹存儲和兩個樹存儲,並且如果我在tree1中添加一個節點並更新tree2存儲,那麼是否會在沒有加載tree2存儲的情況下在tree2面板中看到更改? – 2011-10-24 04:55:17