2012-01-16 67 views
1

我正在使用GWT, 我有樹Widget.TreeItems是在運行時添加的。 例如:擴展和減少TreeItem,在GWT中選擇其他TreeItem

1.A 
    2.B 

當我在一個 單擊它看起來像

1.A 
     1.ab 
     2.cd 
    2.B 

當我點擊第B 它看起來像

1.A 
     1.ab 
     2.ad 
    2.B. 
     1.bz 
     2.by 

我想是什麼樣子,當我點擊在B上,所有的TreeItem都應該減少。 like:

 1.A 
    2.B. 
     1.bz 
     2.by 

我很困惑如何做到這一點。

我正在使用SelectionHandler來展開treeItem。

有人可以幫助我理解和如何做到這一點。 也是這樣做的關鍵字。

編輯:更多信息

這A和B是同一棵樹的TreeItems並在運行時addded。

public void onSelection(SelectionEvent<TreeItem> event) { 
// the item which is selected send some keyword to server and server returns the child of the treeItem 
} 

+0

你爲什麼不只是遍歷所有其他頂層項目沿途倒塌呢? – milan 2012-01-16 15:49:15

回答

1

你可以在B的選擇處理程序中使用closeAll()(Tree類方法),它將關閉樹的所有節點,並在使用openAll(TreeNode節點)(Tree類方法)打開B和所有節點根據B. 要直接訪問TreeGrid下的樹,請使用方法yourTreeGrid.getTree(),因此它將成爲例如`yourTreeGrdi.getTree()。​​closall()。

問候 阿蘭