加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex Tree 实践

发布时间:2020-12-15 05:17:06 所属栏目:百科 来源:网络整理
导读:在这里给大家记录下我学习的Flex树 网上准备Flex Tree的数据源大都XML类型,我觉得XML不够ArrayCollection灵活,而且在网上用ArrayCollection作数据源的很少,所以在此记录下来 1.准备树结点类 package util { ?import mx.collections.ArrayCollection; ?pub

在这里给大家记录下我学习的Flex树 网上准备Flex Tree的数据源大都XML类型,我觉得XML不够ArrayCollection灵活,而且在网上用ArrayCollection作数据源的很少,所以在此记录下来

1.准备树结点类

package util
{
?import mx.collections.ArrayCollection;
?public class Node
?{
??public var id:String
??public var name:String;
??public? var children:ArrayCollection;
??public function Node()
??{
??}

?}
}

这个纯粹是一个类似Java Pojo的类,负载树的结点数据,在这个类中有个属性children,目前我不知道这是不是Flex 树的内部属性,有了这个children属性,是ArrayCollection类型,这个属性的值是node结点的集合,那么Flex Tree会将其自动识别为子结点,在界面上添加到当前结点下面(这个也太强大了吧)

2.Flex Tree as(这里只写简单代码)

var nodes:ArrayCollection? = new ArrayCollection();? //第一层树结点数据

var nodesChildren:ArrayColleciton = new ArrayCollection; //孩子结点集合

var aNode:Node = null;???//树结点

//先准备需要的子结点数据

aNode = new Node();

aNode.id = "00";

aNode.name = "孩子结点1";

aNode.children = null;?? //当前结点如果没有孩子结点那么children设为null,如果有,则赋值为它的孩子集合,Flex Tree递归加载

nodesChildren.addItem(aNode);

aNode = new Node();

aNode.id = "01";

aNode.name = "孩子结点2";

aNode.children = null;?

aNode = new Node();

nodesChildren.addItem(aNode);?

?//孩子结点数据准备完毕

?

//准备父节点数据

aNode.id = "0";

aNode.name = "父结点1";

aNode.children = nodesChildren;? //在这里将父节点的孩子结点数据加进去

nodes.addItem(aNode);

aNode.id = "1";

aNode.name = "父结点2";

aNode.children =?null;?? //假设父节点2没有孩子结点

nodes.addItem(aNode);

//父节点数据准备完毕

//实例化一棵树

var exampleTree:Tree = new Tree();

exampleTree.dataprovider = nodes; //在这里将第一层树结点数据源绑定到树上

到这里采用集合作为数据源的树就可以显示出来了,界面例子就不贴上了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读