【问题标题】:Dynamic tree in FlexFlex 中的动态树
【发布时间】:2011-09-15 02:24:29
【问题描述】:

我想使用延迟加载创建一个动态树,每次我打开一个文件夹时,树都会向服务器发送一个 http 请求,在这个脚本中,我只使用静态文本来测试树,但是,我得到了在根的标签中分配给数据提供者的所有 XML 文本,然后当我打开根文件夹时,我得到了具有良好标签的子项,并且 openitem 和 closeitem 事件不会触发我如何使它们工作,欢迎任何帮助

        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.net.URLRequestMethod;
        import flash.net.URLVariables;

        import mx.collections.XMLListCollection;
        import mx.events.ListEvent;

        var origXML:XML;

        public function initList()
        {
            //tree.rootVisible = false;

            //TODO: Get this XML from a data service
            var origXMLString:String = "<node  isBranch=\"true\"><node>supernode1</node>" +
                "<node>supernode2</node>" +
        //"<node label=\"supernode2\" someProp=\"sdsdf \" isBranch=\"true\"/></node>" +
                //"<node label=\"supernode3\" someProp=\"sdsdf \" isBranch=\"true\"/></node>" +
                "</node>";

            origXML = new XML(origXMLString);
            tree.dataProvider = origXML;
        }
        public function open(event:Object)
        {
            var selectedNode:Object = event.node;

            var myXMLList:XMLList = new XMLList(selectedNode);

            //TODO: Get this XML from a data service based on the selected node.
            var newXMLString:String = "<childnode1 label=\"childnode1\" someProp=\"sdsdf \" isBranch=\"true\" />" +
                "<childnode2 label=\"childnode2\" someProp=\"sdsdf \" isBranch=\"false\" />" +
                "<childnode3 label=\"childnode3\" someProp=\"sdsdf \" isBranch=\"true\" />" ;

            var myNewXMLList:XMLList = new XMLList(newXMLString);

            selectedNode.setChildren(myNewXMLList);

        /*  myText1.text = selectedNode.toXMLString();
            myText2.text = myTree.dataProvider.source[0]; */
        tree.dataProvider = origXML;
        }

        public function close(event:Object)
        {
            var selectedNode:Object = event.node;

            var myXMLList:XMLList = new XMLList(selectedNode);

            removeAllDecendants(myXMLList);

        /*  myText1.text = selectedNode.toXMLString();
            myText2.text = myTree.dataProvider.source[0]; */
            tree.dataProvider = origXML;
        }

        public function removeAllDecendants(xmlList:XMLList)
        {
            var myDescendantXMLList:XMLList = xmlList.descendants();
            var myDecendentXMLListCollection:XMLListCollection = new XMLListCollection(myDescendantXMLList);
            myDecendentXMLListCollection.removeAll();
        }

        private function send_data():void { 

            var loader : URLLoader = new URLLoader();
            var request : URLRequest = new URLRequest("http://localhost/index.php" );
            // pass the post data
            request.method = URLRequestMethod.POST;
            var variables : URLVariables = new URLVariables();
            variables.s = "haha";
            request.data = variables;

            // add handlers
            loader.addEventListener(Event.COMPLETE, on_complete);
            loader.load(request); 
        //  userRequest.send(); 
        } 

        private function on_complete(e : Event):void{



        }



    ]]> 
</fx:Script> 
<mx:Tree id="tree" x="103" y="49" width="445" height="278" enabled="true"
         itemClose="close(event)" itemOpen="open(event)" selectedIndex="1"></mx:Tree>

【问题讨论】:

    标签: apache-flex dynamic tree


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多