《flex中tree的父节点、叶节点的操作小结》由会员分享,可在线阅读,更多相关《flex中tree的父节点、叶节点的操作小结(3页珍藏版)》请在金锄头文库上搜索。
1、Flex 中 Tree 的父节点、叶节点的操作小结近来主要涉及到的一个问题是根据用户操作动态地创建树结构,包括父 节点、子节点。经过浏览相关书籍和网上的资料,顺利按需求完成了项目,现 将此知识点总结一下。首先肯定的是,tree 用到数据绑定。要考虑的就是将怎样形式的数据绑定到 Tree 控件上来,提到 XML、XMLList 以及 XMLListCollection 与 Tree 的绑定, 设计如下:Bindableprivate var xmlTree:XML=;Bindableprivate var dataTree:XMLListCollection=new XMLListCollect
2、ion(xmlTree.father);下面涉及到树结构的操作,实际上是对 XMLListCollection 的操作, 再往上就是对 XML 的操作,主要用到的操作符是.和。 /*添加父节点*private function addFather(father:String):voidvar newFather:XML=;newFather.label=father;newFather.isBranch=true;xmlTree.appendChild(newFather);/*删除指定父节点*private function deleteFather(father:String):voidv
3、ar fath:XMLList=xmlTree.father.(label=father);for(var i:int=0;i;newNode.label=node;var fath:XMLList=xmlTree.father.(label=father);if(fath.length()=0)/增加子节点fath0.appendChild(newNode);/*给指定父节点删除子节点* private function deleteNode(father:String,son:String):voidvar fath:XMLList=xmlTree.father.(label=father
4、);var childs:XMLList=fath.children();var iDelete:int;for(var i:int=0;ichilds.length();i+)if(childsi.label=son)iDelete=i;break;delete childsiDelete; /*删除所有子节点*private function deleteNodes(father:String):voidvar fath:XMLList=xmlTree.father.(label=father);var childs:XMLList=fath.children();for(var i:int=0;ichilds.length();)delete childsi;/*是否已有父节点*private function exitFather(father:String):Booleanvar fath:XMLList=xmlTree.father;for(var i:int=0;ifath.length();i+)if(fathi.label=father)return true;return false;