您的位置:首页 > 其它

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

2013-05-24 01:20 417 查看
<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐