[FLEX] Tree 컴포넌트 생성시 트리 아이템 열기 FlexEvent.UPDATE_COMPLETE, expandItem
트리 데이터프로바이더 이후
바로 expandItem메소드를 사용할 경우 데이터가 아직 트리에 그려지지 않은 상태이므로
FlexEvent.UPDATE_COMPLETE 를 사용하여 업데이트를 감지한다.
FlexEvent.UPDATE_COMPLETE 는 코드힌트로 나오지 않을 수도있다. 그럴땐 FlexEvent. 찍으면 나옴!!
i_tree.addEventListener(FlexEvent.UPDATE_COMPLETE, resultUpdateEventHandler);
업데이트는 여러번 실행될 수 있으므로 초기 실행시 업데이트리스너를 제거.
private function resultUpdateEventHandler(e:FlexEvent):void {
i_tree.removeEventListener(FlexEvent.UPDATE_COMPLETE, resultUpdateEventHandler);
var itemR:IListItemRenderer = i_tree.itemToItemRenderer((i_tree.dataProvider as
XMLListCollection).getItemAt(0));
i_tree.expandItem(e.itemRenderer.data, true);
}
예>
import mx.events.ListEvent;
id_tree_device.addEventListener(FlexEvent.UPDATE_COMPLETE, expandTreeHandler);
public function expandTreeHandler(event:Event):void{
var selNode:Object = new Object();
id_tree_device.selectedIndex = 0;
selNode = id_tree_device.selectedItem;
id_tree_device.expandItem(selNode, true);
}
예2>
expandTree(id_tree_process);
private function expandTree(tree:Tree):void{
var obj:Object = new Object();
obj = tree.dataProvider.getItemAt(0);
tree.expandChildrenOf(obj, true);
}