Flex Tree 如何在不选定节点的情况下进行添加(Demo)

来源:互联网 发布:at89c52中文数据手册 编辑:程序博客网 时间:2024/05/20 13:14
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="500" creationComplete="init()" xmlns:ns1="aaa.*"><mx:Script><![CDATA[import mx.events.TreeEvent;import mx.collections.ArrayCollection;private function handleItemClose(evt:TreeEvent):void {tree1.expandChildrenOf(evt.item, false);}private function init():void {this.tree1.addEventListener(TreeEvent.ITEM_CLOSE, handleItemClose);}private function getAllChildLabel():void {if(tree1.selectedItem) {var allChild:Array = [];var xml:XML = tree1.selectedItem as XML;this.getAllChild(allChild, xml);this.textArea1.text = allChild.join("\n");}}private function getAllChild(allChild:Array, xml:XML):void {allChild.push(xml.@label);if(xml.children().length()>0) {for each(var node:XML in xml.children())arguments.callee(allChild,node);}}private function getAllParentLabel():void{if(tree1.selectedItem) {var allParent:Array = [];var xml:XML = tree1.selectedItem as XML;this.getAllParent(allParent, xml);this.textArea1.text = allParent.join("\n");}}private function getAllParent(allParent:Array, xml:XML):void {allParent.push(xml.@label);if(xml.parent()) {arguments.callee(allParent, xml.parent());}}private function getTreeLabel():void{if(tree1.selectedIndex = 1){ var s:XML =tree1.selectedItem  as XML;var newNode:XML =<Pfolder/>;newNode.@label="自定义333333";// 添加节点if (s.length() > 0){s[0].appendChild(newNode);}}}]]></mx:Script><mx:Tree id="tree1" labelField="@label" showRoot="true" width="300" height="300"><mx:XMLListCollection id="MailBox"><mx:XMLList><folder label="Mail"><folder label="INBOX"/><folder label="Personal Folder"><Pfolder label="Business" /><Pfolder label="Demo" /> <Pfolder label="Personal" isBranch="true" /> <Pfolder label="Saved Mail" /> </folder><folder label="Sent" /><folder label="Trash" /></folder><folder label="自定义视图"><folder label="自定义视图"><Pfolder label="节点1" /><Pfolder label="节点2" /> </folder></folder></mx:XMLList></mx:XMLListCollection></mx:Tree><mx:Button id="button1" x="201" y="308" label="得到选择节点下的所有子节点label值" click="getAllChildLabel()" /><mx:Button id="button2" x="201" y="338" label="得到选择节点的所有父节点label值" click="getAllParentLabel()" /><mx:Button id="button3" x="201" y="368" label="得到树所有及诶单label值" click="getTreeLabel()" /><mx:TextArea id="textArea1" x="317" y="2" width="276" height="298"/></mx:Application>

原创粉丝点击