//初始化从数据库中获得tree private function init():void { getTree(); } //监听tree item的click事件 private function tree_itemClick(evt:ListEvent):void { var item:Object = Tree(evt.currentTarget).selectedItem; if (tree.dataDescriptor.isBranch(item)) { tree.expandItem(item, !tree.isItemOpen(item), true); } } //tree的item有子节点的显示(子节点个数) private function tree_labelFunc(item:XML):String { var children:ICollectionView; var suffix:String = ""; if (tree.dataDescriptor.isBranch(item)) { children = tree.dataDescriptor.getChildren(item); suffix = " (" + children.length + ")"; } return item[tree.labelField] + suffix; }
[Bindable] public var selectedNode:XML; //当tree发生change事件时的事件 public function treeChanged(event:Event):void { //将选中的节点转换成xml,赋予selectedNode,as为转换类型 selectedNode = Tree(event.target).selectedItem as XML; noteId = selectedNode.@sid; } //获得tree的方法 public function getTree():void { //构造service时指定回调方法名称 var service:FlexTestService = new FlexTestService(result); service.getTree(); }
var returnString:String; var treeDate:XML
//回调方法 public function result(data:Object):void { //java端返回的数据转化成String类型 returnString = data as String; //利用returnString构造一个xml treeDate = new XML(returnString); //把构造的xml文件绑定到tree上 tree.dataProvider = treeDate; } //删除某一节点 public function delNote():void { var service:FlexTestService = new FlexTestService(result); service.delNote(noteId); } //增加一个节点 public function addNote():void { var service:FlexTestService = new FlexTestService(result); service.addNote(noteId, nodeName.text); } //重命名节点 public function updateNote():void { var service:FlexTestService = new FlexTestService(result); service.updateNote(noteId, nodeName.text); } ]]> </mx:Script>