У меня есть элемент управления деревом, и после того, как я опускаю элемент в нем (который обновляет датаподаватель), я хочу, чтобы он оставался открытым. Я пробовал много вещей, включая пример в this question, который я не мог заставить работать, поэтому я делаю то, что я чувствую, еще более основательно. Например:Flex Tree не перерасширяется
[Bindable]
public var open:Object = new Object();
private function dropItemInTree():void{
open = myTree.openItems;
//A bunch of code that updates the DP
reopenTree();
}
public function reopenTree():void{
for each(var item:XML in open){
expandParents(item[0]);
}
}
private function expandParents(node:XML):void {
myTree.expandItem(node,true,false);
}
Но даже это оставляет мое дерево минимальным. Что случилось?
XMLTree1.expandItem (MailBox.getItemAt (0), правда, ложь, правда); Его четвертый параметр. Установите его, и ваш код должен работать. См. Мой ответ ниже для более подробной информации. –
Четвертый параметр предназначен только для отправки события itemOpen при запуске метода expandItem. В этом случае я даже не могу открыть один элемент с помощью метода expandItem, поэтому отключение и привязка событий к этому событию тоже не сработают. – invertedSpear