2011-02-11 2 views
0

핸들러 내부의 트리 구성 요소에 대한 itemOpening 이벤트에 대한 이벤트 핸들러를 기본적으로 추가했습니다. myTree.selectedItem = event.item; 그런 다음 myTree.selectedItem.children.push (newData) 내에 새 데이터를 추가합니다. 그러나 동시에 표시되지 않고 대신 새 데이터를 보려면 분기를 다시 열어야합니다. 나는 새로운 데이터를 추가 한 후에 무언가를 리프레쉬 할 필요가 있다고 생각하지만, 무엇을 모르는가? 아래 코드 만 선언하지 않고, 스크립트 태그 등이다확장 된 분기가 Flex Tree에서 처음으로 자식을 표시하지 않습니까?

<services:DocumentService id="$document"/> 
     <s:CallResponder id="$newFolderAdded" result="$newFolderAdded_resultHandler(event)"/> 


    <mx:Tree id="myTree" width="100%" height="60%" creationComplete="myTree_creationCompleteHandler(event)" 
       labelField="name" itemOpening="myTree_itemClickHandler(event)" /> 

    protected function myTree_itemClickHandler(event:TreeEvent):void 
       { 
        myTree.selectedItem = event.item; 
        if(event.item.hasOwnProperty('children')) 
        { 
         $newFolderAdded.token = $document.getDirectDecendents(event.item); 

        } 
       } 

     protected function $newFolderAdded_resultHandler(event:ResultEvent):void 
       { 
        for each(var folder:Object in event.result) 
        { 
        myTree.selectedItem.children.push(Object(folder)); 

        } 


       } 

답변

1

호출하여 트리의 데이터를 무효화 시도 :

myTree.invalidateList(); 
+0

감사는 트릭을 :)했다 –

관련 문제