加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex使用<mx:Tree>控件创建树(可添加和删除节点)

发布时间:2020-12-15 04:56:35 所属栏目:百科 来源:网络整理
导读:?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 comp


<?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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读