I have added an event handler for itemOpening event for the tree component inside the handler basically ido myTree.selectedItem = event.item ; and then add the new data inside myTree.selectedItem.children.push(newData);
But It do not show simultaneously instead I have to close , open the branch again to see the new data . I think I need to refresh something after adding new data but dont know what ?
below is the code but without the declaration , script tag etc
<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));
}
}
Try invalidating the data of the tree by calling: