Flex使用<mx:Tree>控件创建树(可添加和删除节点)
2013-07-29 09:24
766 查看
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
fontSize="12">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.XMLListCollection;
[Bindable]
private var company:XML=<list>
<department name="部门 A">
<employee name="小 A" />
<employee name="小 B" />
</department>
<department name="部门 B">
<employee name="小 C" />
<employee name="小 D" />
</department>
</list>;
[Bindable]
private var companyData:XMLListCollection=new XMLListCollection(company.department);
private function addNode():void
{
// 新建节点
var newNode:XML=<employee/>;
newNode.@name=empName.text;
// 添加节点
var xml:XML=XML(tree.selectedItem);
if (xml.length() > 0)
{
xml[0].appendChild(newNode);
}
}
private function removeNode():void
{
if (tree.selectedItem != null)
{
var node:XML=XML(tree.selectedItem);
// 不能删除空节点和部门A,B
if (node == null || node.localName() == "department")
{
Alert.show("不能删除空节点和部门A,B!");
return;
}
// 获取当前节点的父节点下的所有子节点
var children:XMLList=XMLList(node.parent()).children();
// 将其转换为 XMLListCollection
var childrenCol:XMLListCollection=new XMLListCollection(children);
// 获取选中节点索引,并删除该节点
var i:Number=childrenCol.getItemIndex(node);
childrenCol.removeItemAt(i);
}else{
Alert.show("请选中一个节点再进行删除!");
}
}
]]>
</mx:Script>
<mx:Panel title="实现添加和删除节点"
width="300"
height="300"
verticalAlign="middle"
horizontalAlign="center">
<mx:Tree id="tree"
dataProvider="{companyData}"
labelField="@name"
height="200"
width="230"/>
<mx:HBox>
<mx:TextInput id="empName"
width="60"
text="新节点名"/>
<mx:Button label="添加节点"
click="addNode();"/>
<mx:Button label="删除节点"
click="removeNode();"/>
</mx:HBox>
</mx:Panel>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
fontSize="12">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.XMLListCollection;
[Bindable]
private var company:XML=<list>
<department name="部门 A">
<employee name="小 A" />
<employee name="小 B" />
</department>
<department name="部门 B">
<employee name="小 C" />
<employee name="小 D" />
</department>
</list>;
[Bindable]
private var companyData:XMLListCollection=new XMLListCollection(company.department);
private function addNode():void
{
// 新建节点
var newNode:XML=<employee/>;
newNode.@name=empName.text;
// 添加节点
var xml:XML=XML(tree.selectedItem);
if (xml.length() > 0)
{
xml[0].appendChild(newNode);
}
}
private function removeNode():void
{
if (tree.selectedItem != null)
{
var node:XML=XML(tree.selectedItem);
// 不能删除空节点和部门A,B
if (node == null || node.localName() == "department")
{
Alert.show("不能删除空节点和部门A,B!");
return;
}
// 获取当前节点的父节点下的所有子节点
var children:XMLList=XMLList(node.parent()).children();
// 将其转换为 XMLListCollection
var childrenCol:XMLListCollection=new XMLListCollection(children);
// 获取选中节点索引,并删除该节点
var i:Number=childrenCol.getItemIndex(node);
childrenCol.removeItemAt(i);
}else{
Alert.show("请选中一个节点再进行删除!");
}
}
]]>
</mx:Script>
<mx:Panel title="实现添加和删除节点"
width="300"
height="300"
verticalAlign="middle"
horizontalAlign="center">
<mx:Tree id="tree"
dataProvider="{companyData}"
labelField="@name"
height="200"
width="230"/>
<mx:HBox>
<mx:TextInput id="empName"
width="60"
text="新节点名"/>
<mx:Button label="添加节点"
click="addNode();"/>
<mx:Button label="删除节点"
click="removeNode();"/>
</mx:HBox>
</mx:Panel>
</mx:Application>
相关文章推荐
- Flex使用<mx:Tree>控件创建树(可添加和删除节点)
- Flex使用<mx:Tree>控件创建树(可添加和删除节点)
- Flex使用<mx:Tree>控件创建树(可添加和删除节点)
- < Unity 3D专栏 >动态创建对象,并渲染贴图,动态添加删除脚本
- <Android>控件Spinner的基本使用
- C++ <VS2008> 使用Excel类创建,读取,查询,写入,修改,删除
- <Unity UGUI><EasyTouch> 使用EasyTouch, 摇杆在Dynamic模式下,点击UI控件也会弹出的问题解决
- SoapUI使用注意事项——在<!CDATA>节点之前不要有空格
- <转>动态链接库 静态链接库 创建 使用 汇总
- <mx:itemRenderer>使用
- <转载>WdatePicker日历控件使用方法
- Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码: <shape>
- 在shuiguo.xml文件中第三个水果中的苹果节点中添加节点<小苹果>small apple</小苹果>,添加小苹果后将其文本内容修改为“小苹果”,修改该节点后将其父节点苹果(即第三个苹果元素)删除
- < Unity 3D专栏 >添加控件检测事件,函数处理
- <一>Oracle11g的安装+数据库创建+PL/SQL Dev的使用初步
- error: 函数调用缺少参数列表;请使用“&BinTree<char>::_PrintNode”创建指向成员的指针
- <总结>delphi WebBrowser控件的使用中出现的bug
- HTML5 - 经典的上中下三段式布局(并使用<nav>实现侧边导航链接)
- java中使用<jsp:forward>报404错误
- HTML5 - 使用<video>播放视频