`
blueram
  • 浏览: 762501 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

flex 递归树

    博客分类:
  • Flex
阅读更多
import mx.collections.ArrayCollection;
			private var treeData:ArrayCollection=new ArrayCollection([
				{id: 0,pid:-1,text:'0(0级)'},
				{id: 1,pid:0,text:'1(一级)'},
				{id: 2,pid:4,text:'2.1.1(三级)'},
				{id: 3,pid:0,text:'2(一级)'},
				{id: 4,pid:3,text:'2.1(二级)'},
				{id: 5,pid:0,text:'3(一级)'},
				{id: 6,pid:5,text:'3.1(二级)'},
				{id: 7,pid:0,text:'4(一级)'},
				{id: 8,pid:7,text:'4.1(二级)'},
				{id: 9,pid:4,text:'2.1.2(三级)'},
				{id:11,pid:2,text:'2.1.1.1(四级)'},
				{id:12,pid:2,text:'2.1.1.2(四级)'},
				{id:13,pid:5,text:'3.2(二级)'},
				{id:19,pid:5,text:'3.3(二级)'}
			]);
			
			
			var treexml:String = "";
			
			public function init():void{
				var o:Object = treeData.getItemAt(0);
				showTree(o);
				trace(treexml);	
			}
			
			
			//判断字母还是数字
			public function showTree(tree:Object):void
			{
			
				var id1:String = tree["id"];
				var pid1:String = tree["pid"];
				var text1:String = tree["text"];
				treexml += "<tree id='"+id1+"' pid='"+pid1+"' text='"+text1+"'>"
				for(var j:int=1;j<treeData.length;j++)
				{
					var obj:Object = treeData.getItemAt(j);
					var id:String = obj["id"];
					var pid:String = obj["pid"];
					var text:String = obj["text"];
					if(pid == id1)
					{
						showTree(treeData.getItemAt(j));
					}
					if(j==treeData.length){
						treexml +="</tree>"
					}
					
				}
				treexml +="</tree>"
				
			}

 

分享到:
评论

相关推荐

    flex自定义树形结构

    本篇文章将深入探讨如何在Flex环境中自定义实现一个具备展开、收缩功能的多级目录树形结构。 首先,让我们理解`Flex`布局。Flex布局,全称为Flexible Box,是一种用于容器中元素的布局模型,旨在提供更好的灵活性,...

    动态绑定XML,实现flex树控件的绑定

    本示例着重讲解如何利用动态绑定XML来实现Flex树控件的绑定,主要涉及的技术包括FLEX、.NET、XML以及递归绑定树结构。 首先,让我们了解Flex中的树控件(Tree)和XML数据源。在Flex中,Tree控件用于显示层次结构的...

    flex json转无限树形加单选框并获得选中子项

    本话题聚焦于使用Flex处理JSON数据,将其转化为无限层级的树形结构,并添加单选框功能,以便用户选择特定节点,同时能够获取到被选中的子项。这个功能在诸如文件管理系统、组织架构展示、菜单导航等场景中非常常见。...

    Flex Tree快速定位树结点

    4. **树节点查找**:使用循环或递归方法遍历数据源,比较每个节点的名称与用户输入的字符串是否匹配。匹配成功则记录该节点的索引或唯一标识。 5. **节点定位**:一旦找到匹配的节点,可以通过`Tree.expandPath()`...

    递归下降法语法分析

    递归下降法是一种在编译器设计中广泛使用的...在C/C++环境中,利用递归函数和抽象语法树,可以构建出高效、可读的语法解析模块。然而,面对复杂的文法结构,应考虑采用更高级的解析技术,以确保解析的准确性和效率。

    flex&bison资料

    在使用Flex和Bison时,需要注意一些常见问题,比如左递归、右递归的处理,冲突的解决(如LR和LL冲突),以及如何有效地组织文法和词法规则以提高解析效率。此外,调试Flex和Bison生成的解析器也是一个重要的技能,这...

    C++递归下降解析器(编译器设计课)

    通常,我建议编写解析器的人使用解析器生成工具,例如bison和flex。但是对于小语言,建议编写自己的递归下降解析器。 为了说明如何编写递归下降解析器,我将向您展示我不久前为INI样式配置文件编写的解析器。有问题...

    flex-xml合并,树查找xml

    本话题将深入探讨在Flex环境中如何有效地合并XML文档并实现无限级别的树查找功能。 首先,Flex是Adobe公司推出的一种用于创建富互联网应用程序(RIA)的开发框架,基于ActionScript编程语言和MXML标记语言。在Flex...

    flex json转无限树形加单选框并获得选中子项 自动展开

    "flex json转无限树形加单选框并获得选中子项 自动展开"这一主题涉及到多个技术点,包括JSON数据处理、无限层级树形结构的构建、单选框(checkbox)的实现以及节点的自动展开功能。下面将详细讲解这些知识点。 1. ...

    flex&bison;资料

    而Bison(GNU Bison)则负责将这些标记转换为符合特定语法规则的抽象语法树,从而帮助构建复杂语言的解析器。 《flex & bison.pdf》很可能是Flex和Bison的官方文档或者教程,它会详细介绍这两个工具的使用方法、...

    flex Tree 复选框。

    在这个特定的场景中,我们关注的是在Flex Tree中集成复选框功能,这为用户提供了一种直观的方式来选择或操作树形结构中的多个节点。让我们深入探讨这个主题,了解如何实现Flex Tree复选框以及其与父目录状态之间的...

    Linux环境中使用Flex、Bison进行SQL语法分析.pdf

    在本文中,我们将详细介绍如何使用Flex和Bison工具来生成SQL语法树,包括语法规则的构建、词法分析、语法分析和应用接口设计等方面。同时,我们还将介绍与之相关的冲突消解、可重入策略和错误处理三个方面的技术。 ...

    flex中tree的数据源是xml

    在Flex应用开发过程中,我们常常需要用到树形结构(Tree)来展示分层数据。为了使数据呈现更加灵活且高效,通常会采用XML作为数据交换格式,这是因为XML具备良好的可读性和扩展性,能够方便地被解析与处理。 #### ...

    自己总结的词法分析器flex的源码及算法分析

    词法分析器在编译原理中占据着重要的地位,它负责将源代码分解成一系列的符号(token),这些符号随后会被语法分析器使用以进一步构建程序的抽象语法树。Flex是一款广泛使用的开源词法分析器生成器,它可以将描述文件...

    yacc&flex的介绍文档

    比如处理递归规则、解决if-else的歧义、处理错误消息、以及如何使用继承属性和内嵌动作等高级特性。 **调试技巧** 最后,文档还提供了一些调试技巧,这在开发复杂的编译器时显得尤为重要。通过理解Lex和Yacc生成的...

    用ArrayCollection当做flex中Tree控件的DataProvider

    在这个例子中,`children`属性表示子节点集合,通过递归的方式可以构建任意深度的树结构。`label`属性用于显示在`Tree`控件中。 配置完成后,`Tree`控件会自动根据`ArrayCollection`中的数据结构生成相应的树形结构...

    flex内存泄露(转载)

    Flex应用中的对象组织成树形结构,从根节点(通常是`Application`类实例)开始遍历所有对象。垃圾收集器会标记所有从根节点可达的对象为“有效”。未能被标记的对象被视为“无效”,并最终被回收。 **标记法详解:*...

Global site tag (gtag.js) - Google Analytics