2012-01-16 3 views
1

Я использую GWT, У меня есть дерево Widget.TreeItems добавляются во время выполнения. пример:Развернуть и уменьшить TreeItem, при выборе Other TreeItem в GWT

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 должны быть уменьшены. нравится:

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

я путаюсь, как это сделать.

Я использую на SelectionHandler, чтобы развернуть treeItem.

Может кто-нибудь помочь мне понять и как это сделать. Также ключевые слова для этого.

Отредактировано: Дополнительная информация

Это А и В элементов дерева одного и того же дерева и 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

ответ

1

Вы можете на обработчике выбора использовать closeAll() (метод класса дерева), который закрывает все узлы дерева и после использования openAll (узел TreeNode) (метод класса дерева), чтобы открыть B и все узлы под B. Для доступа непосредственно к дереву под вашим TreeGrid используйте метод yourTreeGrid.getTree(), так что это будет, например, `yourTreeGrdi.getTree(). closall().

С уважением Ален

Смежные вопросы