- 浏览: 95981 次
- 性别:
- 来自: 南京
最新评论
-
0dragon:
同求解啊
flex socket 与java通信碰到的问题 -
sunli0201:
好东西 赞一个
Flex仿苹果导航 -
kangkang203:
能替换不同地图更好
开源项目:中国地图Flash组件 -
yjq8116:
springgrph 有官方网址吗?
Flex Springgraph使用 -
chenfeiyueyue:
我也想要不同的省份设置不同的颜色,如果有县市级就更好了
开源项目:中国地图Flash组件
Tree控件是一个枝和叶节点分层次的机构。树中没每一个条目叫做节点,节点既可以作为枝也可以作为叶。枝节点可以包含叶或枝节点,或者为空。一个叶节点就是一个树的末梢。本快速指南包含一些开发者在使用Treecontrols经常会遇到的一些挑战。 使用XMLLISTCOLLECTION 和ARRAYCOLLECTION对象的对比。 当你想要动态改变对象值时,不要使用XMLList或XML对象直接绑定到Tree控件的dataProvider属性上。当数据源是RPC(远程过程调用)服务的lastResult属性,并且你想使用XML数据,确保RPC组件的resultFormat属性被设置成e4x,当你使用e4x结果格式,最总结果就是XMLList,可以绑定在XMLListCollection对象上。 这里有一个例子。为例数据被动态改变,使用ArrayCollection对象作为Tree控件的数据提供器。当使用MXML标记时,如果你期望动态的改变Arrayl,你不应该把Array对象直接绑定到Tree控件的dataProvider属性上。作为代替,你应该绑定Array到一个ArrayCollection对象的source属性上,然后再把ArrayCollection对象绑定到Tree控件的dataProvider属性上。 在运行时增加和删除叶子节点 提示:可以通过右键flash查看官方源文件 在运行时添加一个空的枝节点 结果
默认的,Tree控件在初始化后是收缩的,你也许不确定如何初始化控件时展开数,并且选定指定的节点。下边的例子,展示了如何实现它。在这个程序中,initTree()方法,在Tree控件被创建后调用。这个方法展开Tree控件的根节点,并且设置selectedIndex属性为指定节点的索引号。 结果 例子
你也许想知道,在运行时从远程或本地得来的数据被动态修改的时候,应该使用XMLListCollection对象还是ArrayCollection对象作为Tree空间的数据提供者。
如果你使用的数据源提供成形的XML,并且,你想在Tree控件中操作 XML数据。你应该使用XMLListCollection对象作为数据提供者。当使用MXML标记时,如果数据源是XMLList对象,你应该把它绑定到XMLLsitCollection对象的source属性上,然后把 XMLListCollection对象绑定到Tree控件的dataProvider属性上。
当数据源是RPC(远程过程调用)服务的lastResult对象,并且RPC组件的resultFormat属性被成object,你应该使用ArrayUtil.toArray()方法来确保对象是一个Array。然后绑定到ArrayCollection对象上,就像下边的例子所示:
你可以在运行时为Tree控件增加或删除叶子节点。下边的例子包含的代码来实现这种改变。这个程序使用预定义的枝和叶来初始化,表现公司部门和员工。你可以向任意枝节点增加叶节点在运行时。你也可以删除预定义的叶节点和你在运行时增加的节点。
在这个例子中的XML包含两种不同的元素名字,department和employee。Tree控件的label函数,决定根据元素的类型应该显示那些文本。它使用了E4X语法来返回department的title,或者employee的name。然后,这些语法在addEmployee()和removeEmployee()中会用到。
为了增加员工到业务部门,addEmployee()方法使用E4X语法,通过title属性的值获得业务部门的节点,并把它保存到XMLList类型的变量dept中。然后,通过调用dept.appendChild()方法向操作节点添加子结点。remove方法保存当前被选择的元素到变量node中,node的类型是XML。调用node.localName()方法确定被选择的元素是否是employee节点。如果是employee节点,删除它。
例子
可以在运行时向Tree控件添加空的枝节点。下边的例子展示了通过数据提供器(data provider)API和数据描述器(data descriptor )API添加枝节点。通常,添加枝节点的首选途径是通过数据提供器(data provider)API。
addEmptyBranthDP()方法通过数据提供器API向使用XML数据提供器的Tree组件增加一个空节点,这个方法为新节点创建一个XML类型的变量,并且设置这个节点的isBranch属性为true来创建一个枝节点。然后这个方法调用Tree控件的dataProvider.addItemAt()方法来向Tree控件的数据提供器增加新的元素。
addEmptyBranchDP2()方法通过数据提供器API向使用对象数据提供器的Tree组件增加一个空节点,这个方法使用children属性创建一个新的对象,使用children属性能够确保isBranch()方法返回true。然后,这个方法调用Tree控件的dataProvider.addItemAt()方法来向Tree控件的数据提供器增加新的对象。
addEmptyBranchDD()方法通过数据描述器(data descripter)API。这个方法创建一个XML类型的变量,并且设置isBranch属性为true来创建一个枝节点。然后,这个方法调用Tree控件的dataDescriptor.addChildAt()方法来向Tree控件的数据描述器添加一个新的子节点。
例子
打开树到指定的节点
读取多节点名XML文档
你可以从具有多个节点名字的XML文档中组装Tree 控件。下边的例子实现了这个功能。Tree控件的数据提供者是一个XMLListCollection,它组装自一个包含folder和Pfolder元素的XMLList。Tree控件的labelField属性被设置为label属性,不管元素叫什么名字,这个属性对XMLList中的所有属性都是公共的。
当数据提供器更新时保持Tree控件打开
默认地,当数据提供器更新数据时Tree控件收缩。下边的例子展示了当数据提供器更新时保持Tree控件打开的方法。
在这个应用程序中,当一个用户单击Button控件时changeProvider()方法更新数据提供器。通常,这会导致Tree控件收缩。然而,Tree控件的渲染事件处理器,renderTree()方法,放置收缩的发生。当changerProvider()方法被调用,当前状态是打开的元素被保存到对象open变量中。当数据被刷新时,被命名为refreshData的Boolean类型的变量被置为true。renderTree()方法调用Tree控件的invalidateList()方法来刷新树的行。然后置refreshDate属性为false,并且重置Tree控件的打开元素属性为open对象变量,这个变量在刷新前就包含了状态是打开的元素。
例子
发表评论
-
Flex报表制作
2012-03-07 10:21 1027报表展示工具:jasperReport 3.0 falsh V ... -
As3对象传值与传引用
2011-03-01 14:32 4029转自: http://blog.csdn.net/lap ... -
一起来学alchemy
2011-01-26 10:36 984一起来学alchemy。 http://insider ... -
Flex Component Kit for Flash CS3 安装方法及前提
2011-01-25 09:30 1126原文:http://labs.adobe.com/wiki ... -
Flex在匿名方法移除自身的侦听方法
2010-12-20 21:32 1226public static function removePo ... -
跳出嵌套循环
2010-12-20 11:17 1077A: for (i=0; i <32; i+ ... -
flex模块销毁机制
2010-12-17 17:14 1681有问题就要解决,系统中共有六个模块,1,2,3,4,5,6。一 ... -
AS3 库资源 很多非常有用的类库
2010-12-16 15:01 905引用自:http://www.jdhcn. ... -
Flex 开源数据可视化框架 Axiis
2010-12-09 09:29 1430Axiis 是一个数据可视化框架,于五月份使用MIT许可证 ... -
flex socket 与java通信碰到的问题
2010-11-25 13:58 1791其实就是粘包问题了。 老实讲,到现在还是没 ... -
Socket粘包问题
2010-11-22 10:18 2308这两天看csdn有一些关 ... -
as3遍历对象所有属性的方法
2010-11-10 15:41 3355as3遍历对象所有属性的方法(包含Flex) 1: Obj ... -
Module中使用cairngorm的问题
2010-11-01 13:46 1151Module中使用cairngorm的问题: 多次加载mod ... -
flex profile
2010-10-28 14:38 1803今天使用profile来检测了下系统的性能,发现好多低级 ... -
关于mx_internal
2010-10-27 09:16 806mx_internal: 字面翻译:内部的。 这种声明的属 ... -
loadModuleReady使用中发现的问题
2010-10-26 14:06 818private function loadModuleR ... -
可删除列的datagrid
2010-10-22 15:52 891单击列头即可删除 -
『FLEX』Java的pojo对象转成Flex的vo对象
2010-09-29 15:25 1388在使用openamf的类映射功能时,一般需要在as端也 ... -
Flex titleWindow resize
2010-09-29 08:44 1378Flex titleWindow resize -
EC2M
2010-09-28 17:05 865自己看吧,开源项目
相关推荐
11. **Tree控件**:用于展示层次结构的数据。 12. **AdvancedDataGrid控件**:比DataGrid控件提供了更多的功能,如排序、分组等。 13. **CSS**:用于定义界面的样式和外观,使应用程序更加美观。 #### 六、其他高级...
### Flex入门实例教程知识点概述 #### 一、Flex简介 - **定义与特点**:Flex是一种开源框架,用于构建高质量的Web应用程序,并可跨浏览器、操作系统和设备进行部署。它结合了HTML、JavaScript和Flash Player的功能...
- **添加效果**:使用Flex的动画引擎添加平滑的过渡效果,提升用户体验。 - **创建状态**:状态管理允许根据不同的条件改变界面的布局或外观。 #### 高级用户界面 - **使用Repeater组件**:动态重复渲染列表或网格...
15. **Tree控件**: 用于展示层次化的数据结构。 16. **AdvancedDataGrid控件**: 提供更高级的数据网格功能。 17. **CSS**: 用于自定义组件的样式。 18. **数据验证**: 可以设置各种验证规则确保数据的有效性。 19. *...
通过这个“Flex从入门到精通”的教程,你可以系统学习Flex的基础知识,包括环境配置、组件使用、数据处理、网络通信等,进一步深入到高级主题,如动画效果、自定义组件和企业级应用开发。无论你是Web开发者还是希望...
本教程“Flex3 RIA开发详解与精深实践”旨在帮助初学者快速入门并深入理解Flex3的开发技术。 一、Flex3基础 1. 开发环境:Adobe Flex Builder是主要的开发工具,它基于Eclipse平台,提供了代码编辑、调试和部署等...
- **答案**:使用Flex Builder的调试工具,可以在代码中设置断点,利用调试控制台查看变量状态等。 #### 25. 请问Flexbulider3可以创建几种不同的项目?Flex Builder4可以创建几种不同的项目? - **答案**: - ...
TWaver for Flex 是一款由 Serva Software 开发的高级图形组件库,它为 Flex 应用程序提供了一系列丰富的图形控件和服务。这些控件允许开发者在 Flex 应用程序中轻松实现复杂的网络拓扑图、表格、树形结构等图形界面...
这个压缩包提供的"中文帮助"包含了对ActionScript 3.0、MXML以及Flex入门的详细指导,对于初学者和开发者来说是非常宝贵的资源。 ActionScript 3.0是Flash平台上的一种面向对象的编程语言,相比于早期版本,它在...
3. **创建组件**: 使用 ExtJS 提供的 API 创建 UI 组件,如面板、表格等。 4. **绑定数据**: 通过数据存储(Store)将数据绑定到组件。 5. **渲染**: 设置组件的渲染位置并显示。 #### 二、ExtJS 的 Heart—Ext....