Components Flex


    
    xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"
    creationComplete="initApp();">
     
         
        import mx.collections.XMLListCollection; 
        import mx.core.FlexGlobals; 
        [Bindable] 
        private var treeData:XML =  
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                

        private var openSequence:Array = []; 
        private function initApp():void { 
            /* Parse URL and place values into openSequence Array. 
            This lets you pass any integers on the query string, 
            in any order. So: 
            http://localhost/flex/flex2/DrillIntoTree.swf?0=1&1=2&2=0 
            results in an array of selections like this: 
            0:1 
            1:2 
            2:0 
            Non-ints are ignored. 
            The Array is then used to drill down into the tree. 
            */ 
            var paramLength:int = 0; 
            for (var s:String in FlexGlobals.topLevelApplication.parameters) { 
                if (!isNaN(Number(s))) { 
                    openSequence[s] = FlexGlobals.topLevelApplication.parameters[s]; 
                    paramLength += 1; 
                } 
            } 
            openTree(); 
        } 
        private function openTree():void { 
            var nodeList:XMLListCollection = myTree.dataProvider as XMLListCollection; 
            var node:XMLList = nodeList.source; 
            for(var i:int=0; i < openSequence.length; i++) { 
                var j:int = openSequence[i]; 
                var n:XML = node[j]; 
                if( n.children() != null ) { 
                    myTree.expandItem(n,true,false); 
                    node = n.children(); 
                } else { 
                    break; 
                } 
            } 
            if( n != null ) 
                myTree.selectedItem = n; 
        } 
      
    

            horizontalCenter="0" dataProvider="{treeData.node}" labelField="@label" />