<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" backgroundColor="#ffffff" creationComplete="initializeTree()">
<mx:Script>
<![CDATA[
public var dpXML:XML;
public function initializeTree():void
{
dpXML = <root>
<node label="First Folder" isBranch="true"/>
<node label="Second Folder" isBranch="true"/>
<node label="Third Folder" isBranch="true"/>
</root>;
myTree.showRoot = false;
myTree.labelField = "@label";
myTree.dataProvider = dpXML;
}
public function addChildrenToTree(event:Object):void
{
var selectedNode:Object =event.node;
var _label:String = String( selectedNode.@label );
if ( _label.search( "Sub" ) == -1 )
{
var myXML:XML = <root>
<node label="Sub Folder" isBranch="true" />
<node label="Sub Leaf" isBranch="false" />
</root>;
selectedNode.setChildren(myXML.node);
} else {
var myXML:XML = <node label="Sub Leaf 2" isBranch="false" />;
selectedNode.setChildren(myXML);
}
myTree.dataProvider = dpXML;
}
]]>
</mx:Script>
<mx:Tree id="myTree" nodeOpen="addChildrenToTree(event)" color="#ffffff" width="500" height="454" borderThickness="0" alternatingRowColors="['#606060', '#505050']" />
</mx:Application>