`
darrenzhu
  • 浏览: 804403 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

给Flex的Tree赋值方式(XML和ArrayCollection)

阅读更多
1)方式一,mxml内嵌xml数据赋值方式,Embedded XMLListCollection
<mx:Tree id="env_list" labelField="label" showRoot="true" width="243" alternatingItemColors="[#FFFFFF, #FFFFFF]">
<mx:XMLListCollection>
<mx:XMLList>
         <node label="Env Group1">
<node label="Env1"/>
<node label="Env2"/>
</node>
<node label="Env Group2">
<node label="EnvA"/>
<node label="EnvB"/>
</node>
</mx:XMLList>
</mx:XMLListCollection>
</mx:Tree>
Comments: in this way, no need to set value to dataProvider of the tree.


2)普通ArrayCollection方式,这里要用children或者categories关键字来指定某个结点的子结点,而且这两个关键字是不能改变的,它们被定义在tree的实现里面。Constant ArrayCollection with children or categories keywords
[Bindable]
private var treeEnvDataProvider:ArrayCollection=new ArrayCollection([
{node:"noneleaf",label:"Env Group1",children:[{node:"leaf",label:"Env11"},{node:"leaf2",label:"Env12"}]},
{node:"noneleaf",label:"Env Group2",children:[{node:"leaf",label:"Env21"},{node:"leaf2",label:"Env22"}]},
{node:"noneleaf",label:"Env Group3",children:[{node:"leaf",label:"Env31"}]}
]);

<mx:Tree id="env_list" labelField="label" showRoot="true" alternatingItemColors="[#FFFFFF, #FFFFFF]" dataProvider=”{treeEnvDataProvider}”/>
Comments: in this way we need use keywords children or categories.


3)元素为动态对象的ArrayCollection。ActionScript ArrayCollection with Object
[Bindable]
private var envGroups:ArrayCollection=new ArrayCollection();
private function mockupTreeEnvData():void{
           
           
             var obj:Object=new Object();
            obj.label="Env GroupA";
            obj.children=new ArrayCollection([{label:"Env1"}]);
           
           
            envGroups.addItem(obj);
           
            }
Comments: also we need use keywords “children” as the dynamic object’s property.


4)元素为对象的ArrayCollection方式,同样要用children关键字作为对象的一个属性来标明某结点的子结点。ActionScript ArrayCollection with domain object

[Bindable]
public class EnvironmentDTO
{
public function EnvironmentDTO()
{
}

public var id:String;
public var type:String;
public var label:String;
}

[Bindable]
public class EnvironmentGroupDTO
{
public function EnvironmentGroupDTO()
{
}
public var id:String;
public var type:String;
public var label:String;
public var children:ArrayCollection=new ArrayCollection();

}
  
private function mockupTreeEnvData():void{
             var group1:EnvironmentGroupDTO=new EnvironmentGroupDTO();
            group1.id="group1";
            group1.label="Env Group1";
            var env11:EnvironmentDTO=new EnvironmentDTO();
            env11.id="env11";
            env11.label="Env11";

            group1.children.addItem(env11);
            var evn12:EnvironmentDTO=new EnvironmentDTO();
            evn12.id="env12";
            evn12.label="Env12";
            group1.children.addItem(evn12);
                       
           
            envGroups.addItem(group1);
           
}

Comments: very important, we still need use the “children” keywords as a property of our domain object, otherwise, the tree cannot find where are the children of the non-leaf node.


5) Conclusion
When using XML object as the dataProvider of tree, things are looked easier and straightforward, while needing keywords “children” as the property of our object when using ArrayCollection.
分享到:
评论

相关推荐

    Flex Tree 通过Arraycollection转化为XML数据源,新增、删除、修改功能的整合

    本篇文章将聚焦于如何将ArrayCollection转换为XML数据源,并实现Flex Tree组件的新增、删除和修改功能。以下是详细的解释和步骤。 首先,ArrayCollection是Flex中常用的数据结构,它是一个动态数组,支持数据绑定和...

    Flex tree的用法

    让我们深入了解一下Flex Tree的用法以及与XML数据结合的方式。 1. **Flex Tree的基本用法** - **创建Tree组件**: 在Flex中,你可以通过在MXML或ActionScript中定义`mx.controls.Tree`组件来创建Tree。 - **数据...

    Flex:ArrayCollection转xml形式的实例

    另一方面,如果从服务器接收XML数据,也可以通过反向操作将XML转换为ArrayCollection,以便在Flex或Flash应用中使用。 在实际项目中,你可能还需要考虑更多细节,如XML的命名空间管理、属性的添加以及错误处理等。...

    Flex Tree快速定位树结点

    通过阅读和分析这些代码,你可以更深入地理解如何在Flex Tree中实现快速定位功能。 总结起来,"Flex Tree快速定位树结点"是一个提高用户交互体验的功能,它通过监听用户输入并搜索匹配的树节点,然后自动展开或选择...

    Flex Tree 中Checkbox

    1. **Flex Tree组件**:Flex Tree是MXML和ActionScript中的一个控件,用于显示分层的数据结构。它由一系列可展开或折叠的节点组成,每个节点可以包含子节点。用户可以通过单击节点来展开或折叠它们,查看其子节点。 ...

    flex tree icon

    同时,如果数据源是XML或ArrayCollection,可以通过数据绑定将图标URL与节点数据关联起来。这样,当数据改变时,图标也会相应更新。 对于博文链接,虽然具体内容未提供,但我们可以推测这可能是一个关于如何在Flex...

    flex带复选框的tree,flex checkboxtree

    3. 数据结构:CheckboxTree的数据源通常是一个数据结构,如ArrayCollection或XML,包含了树形结构的数据。每个节点可能包含一个标识符、文本、子节点列表,以及一个表示是否选中的布尔值。 在提供的压缩包文件中,...

    flex tree控件

    综上所述,对Flex Tree控件的定制主要包括自定义节点渲染器以去除默认图标和添加线连接,同时还需要考虑性能优化和用户体验。通过深入理解和实践这些知识点,可以创建出符合项目需求、具有良好交互性的Tree控件。

    用ArrayCollection当做flex中Tree控件的DataProvider

    本文将详细探讨如何使用`ArrayCollection`作为Flex中的`Tree`控件的数据提供者,以替代通常使用的XML数据源。 首先,让我们理解`ArrayCollection`的概念。`ArrayCollection`是Flex中的一个类,它继承自`...

    Flex Tree XML

    "Flex Tree XML"这个主题,就是关于如何使用XML数据源来填充和操作Flex中的Tree组件。在这个小例子中,我们将深入探讨如何将XML数据转换为可交互的树形结构。 一、XML数据源与Flex Tree组件 在Flex中,Tree组件...

    Flex中Tree组件的数据源举例(xml,array,object)

    本篇将详细介绍如何为Flex中的Tree组件设置不同的数据源,包括XML、Array和Object。 首先,让我们从XML数据源开始。XML因其结构化的特性,非常适合用来表示层次数据。在Flex中,我们可以使用mx.collections....

    Flex的Array和ArrayCollection

    Flex的Array和ArrayCollection

    flex外部读取xml

    - `import` 语句导入了必要的类库,如`BaseXmlModel`, `ArrayMap`, `BaseHttpServiceUtil`, `XMLArrayCollection`等,这些都是用于解析XML和处理数据的工具类。 - 定义了几个变量:`resultXmlModelArrayCollertion...

    Flex之URLLoader加载XML

    - `import` 语句导入了必要的类,如 `mx.collections.ArrayCollection` 和 `mx.rpc.events.ResultEvent`。 - `public var loader:URLLoader` 定义了一个URLLoader实例,用于加载XML文件。 - `public var menus:...

    向Tree空间添加删除XML数据节点_Flex4

    本篇文章将重点讲解如何在Flex4中向Tree组件添加和删除XML数据节点。 Flex4是一款强大的开发工具,它基于ActionScript 3.0和Flash Player或Adobe AIR运行时,用于创建富互联网应用程序(RIA)。Tree组件是Flex中...

    flex通过httpService读取xml数据到datagird中

    flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行

    flex tree的简单使用

    "flex tree的简单使用"这个主题将引导我们了解如何在Flex应用程序中有效地利用Tree组件来展示和操作树状数据。 首先,我们要知道Tree组件是Adobe Flex SDK中的一个控件,它允许用户以节点和子节点的形式查看数据。...

    flex tree 中渲染checkBox

    自定义渲染器是Flex中扩展组件外观和行为的一种方式。在这个文件中,你需要定义一个继承自`mx.controls.treeClasses.TreeItemRenderer`的类,并覆盖`createChildren`方法来添加CheckBox组件。然后,你需要实现`set ...

    Flex_JSON_XML.zip_flex

    本案例中的"Flex_JSON_XML.zip_flex"是一个压缩包,它包含了一个关于如何使用XML和JSON协议在Java和Flex之间进行数据交换的示例。让我们深入探讨一下这个主题。 Flex是一种基于Adobe Flash Player或Adobe AIR的开源...

    flex4Tree组件分层显示数据示例

    总之,这个“flex4Tree组件分层显示数据示例”将演示如何在Flex4环境中创建一个功能完善的Tree组件,包括数据绑定、自定义渲染器、事件处理和优化性能的方法。通过深入研究这个示例,开发者可以更好地理解和掌握在...

Global site tag (gtag.js) - Google Analytics