OK, Here is some code, this is my tree Component:
[START]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
creationComplete="Init();">
        <mx:Script>
                <![CDATA[
                        import mx.events.TreeEvent;
                        import mx.events.IndexChangedEvent;
                        import mx.rpc.events.FaultEvent;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.remoting.RemoteObject;
            import mx.controls.Alert;
            import mx.collections.ArrayCollection;
            
            [Bindable]
                public var SmallTree_uid:String;
            [Bindable]
                public var SmallTree_sessionid:String;
            [Bindable]
                private var _acFirst:ArrayCollection;
            [Bindable]
                private var _treeDataPrivider:ArrayCollection;
                
            
                /* ----------------------------- [       Remote Calls   ] 
----------------------------- */
                private function RemoteCallFirstRequest():void
                {
                        var nOb:Object = new Object();
                        nOb.uid                 = this.SmallTree_uid;
                        nOb.sessionid   = this.SmallTree_sessionid;
                        nOb.call                = "BuildTreeStructure"
                        var rmt:RemoteObject;
                        rmt = new RemoteObject( "GenericDestination" );
                        rmt.source = "com.ArrayTree.Tree";
                        rmt.MasterCall.addEventListener( FaultEvent.FAULT, 
this.ServiceError );
                        rmt.MasterCall.addEventListener( ResultEvent.RESULT, 
this.ReturnFirstRequestData);
                        rmt.MasterCall(nOb);
                }
                /* ----------------------------- [  Remote Returns      ] 
----------------------------- */
                
                private function ServiceError(f:FaultEvent):void
                {
                        Alert.show(f.message + " " + f.fault);
                } 
                private function ReturnFirstRequestData(r:ResultEvent):void
                {
                          this._acFirst = new ArrayCollection(r.result as 
Array);
                          this.findRoot();
                }
                /* ----------------------------- [   Event Calls        ] 
----------------------------- */
                private function findRoot():void
                {
                        this._treeDataPrivider = new ArrayCollection();
                        for(var i:int = 0; i < this._acFirst.length; i++){
                                if (this._acFirst[i].PARid == 0 && 
this._acFirst[i].name != "pseudo_root"){
                                        
this._treeDataPrivider.addItem(this._acFirst[i]);
                                }
                        }
                        this.BuildRestOfTree(this._treeDataPrivider);
                        
                }
                
                private function BuildRestOfTree(obj:Object):void
                {
                        //if(obj.length > 1){
                                for(var i:int = 0; i < obj.length; i++){
                                        trace(obj[i].CBSid + " " + obj[i].name);
                                        var childAry:Array = 
this.FindChild(obj[i].CBSid);
                                        
                                        if(childAry.length > 0){
                                                Object(obj[i]).children = 
childAry;
                                                
                                                // recures the newly added child
                                                trace("he he ha ha " + 
obj[i].children.length);
                                                
this.BuildRestOfTree(obj[i].children);
                                        }
                                }
                        //}
                }
                
                private function FindChild(numCBSid:String):Array
                {
                        var ary:Array = new Array();
                        for(var i:int = 0; i < this._acFirst.length; i++){
                                if(this._acFirst[i].PARid == numCBSid){
                                        ary.push(this._acFirst[i]);
                                }
                        }
                        return ary;
                }
                
                
                /**
                * GetTreeLabel
                * @param None
                * @return None
                * This will get the name of the tree node from the individual 
object within the 
                * array collection
                */ 
                public function GetTreeLable(obj:Object):String
                {
                        return obj.name;        
                }
                 
                /* ----------------------------- [   init Call          ] 
----------------------------- */ 
                /**
                * Init
                * This is the first call when the page loads
                * @paran 
                * @return
                */
                public function Init():void
                {
                        this.SmallTree_sessionid = '123456';
                        this.SmallTree_uid = '321';
                        this.RemoteCallFirstRequest();
                }
        
                ]]>
        </mx:Script>
        <mx:Tree x="458" y="243" width="419" 
dataProvider="{this._treeDataPrivider}" labelFunction="GetTreeLable"></mx:Tree>

</mx:Application>


[/START]

Here is my code calling the tree component:
[START]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
creationComplete="Init();">
        <mx:Script>
                <![CDATA[
                        import com.TreeSmallv3;
                        [Bindable]
                                public var t:TreeSmallv3;
                                
                        public function Init():void
                        {
                                t = new TreeSmallv3();
                                addChild(t);
                        }
                ]]>
        </mx:Script>    
</mx:Application>

[/START]

Reply via email to