2013-07-27 64 views
0

我有一個JsonRestStore + ForestStoreModel樹,它工作正常,但當我嘗試直接訪問一個節點與tree.set('路徑',...)函數它不工作。dijit.Tree設置路徑JsonRestStore + ForestStoreModel

請參考這裏這個小例子:http://wasmonitor.com/dojotree.html

如果您按一下按鈕,就應該展開Web服務器,然後選擇web1的,但它不...這是我的問題。

我的樹是無根的,我知道ForestStoreModel的默認rootId是$ root $,當沒有指定時。因此,我試圖使用此代碼訪問節點:

var stree = dijit.byId("statTree"); 
    stree.set("paths", [ "$root$", "WebServers", "web1" ]); 

但它從不打開。

已經看過了這個問題:diji.Tree + JsonRestStore - selecting node programmatically with tree.set("path"類似,但它不是爲我工作...

任何提示?

謝謝!

Richard

回答

0

找到路徑和路徑設置完全不同。路徑接受單個路徑作爲數組,路徑接受數組數組。另外,我依靠$ root $作爲默認的rootId,但爲了使其工作,我必須在ForestStoreModel聲明中聲明一個rootId。在此之後,正確的語法是:

var stree = dijit.byId("statTree"); 
    stree.set("path", [ "statTree", "WebServers", "web1" ]); 

var stree = dijit.byId("statTree"); 
    stree.set("paths", [[ "statTree", "WebServers", "web1" ]]); 

感謝薩姆指出,要我通過電子郵件!