flex tree的dataProvider问题

假设我有一个ArrayCollectionarr,里面存了三个UserInfo对象,每一个userInfo对象有username和permissions两个属性而perm... 假设我有一个ArrayCollection arr,里面存了三个UserInfo对象,每一个userInfo对象有username和permissions两个属性
而permissions又是一个ArrayCollection,里面存了个数不等的Permission对象,Permission对象有一个permissionName的属性
想把arr解析成一个tree,应该怎么做

tree的格式如下:
username1
|——permissionName1
|——permissionName2
username2
|——permissionName1
username3
|——permissionName1
|——permissionName2

回答得好有追加!!!!
展开
 我来答
jiangyi2a
2012-03-12
知道答主
回答量:6
采纳率:0%
帮助的人:16.7万
展开全部
var arr:ArrayCollection=三个UserInfo对象
var permissions:ArrayCollection=很多Permission对象

public class UserInfo{
private id:String;
private username:String;
private permissions:ArrayCollection;//只写这三个属性其他没写
}

/*最终的数据源*/
var carSource:ArrayCollection=new ArrayCollection();

/*定义三个父节点*/
var carNode1:ArrayCollection=new ArrayCollection();
var carNode2:ArrayCollection=new ArrayCollection();
var carNode3:ArrayCollection=new ArrayCollection();

for(int i=0;i<arr.length();i++){
if(arr.getItem(i).某个属性=username1){//具体看情况这里判断是哪个父节点
carNode1.addItem(arr.getItem);
}
if(arr.getItem(i).某个属性=username3){//具体看情况这里判断是哪个父节点
carNode2.addItem(arr.getItem);
}
if(arr.getItem(i).某个属性=username3){//具体看情况这里判断是哪个父节点
carNode3.addItem(arr.getItem);
}
}
//准备父节点数据
var userinfo1:UserInfo=new UserInfo();
userinfo1.name="username1";
userinfo1.id="0";
userinfo1.children=carNode1;

var userinfo1:UserInfo=new UserInfo();
userinfo1.name="username2";
userinfo1.id="1";
userinfo1.children=carNode2;

var userinfo1:UserInfo=new UserInfo();
userinfo1.name="username3";
userinfo1.id="2";
userinfo1.children=carNode3;

//最终数据源
carSource.addItem(userinfo1);
carSource.addItem(userinfo2);
carSource.addItem(userinfo3);

//绑定
treeView.dataProvider=carSource

这段代码是纯手工编写,前段时间电脑出问题,没装Flex开发环境,可能里面的某些代码写的不是很好,还有循环里面的那三个if的条件你必须自己整理,判断出来这个子节点是属于哪个父节点,这个子父节点的关系,你必须在你的(ArrayCollection arr,里面存了三个UserInfo对象)中标示好,以便下面做判断,我这里基本也就写了下思路吧! 希望对你有帮助
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
被坑户内20
2012-03-09 · TA获得超过621个赞
知道小有建树答主
回答量:854
采纳率:0%
帮助的人:473万
展开全部
循环一次arr,就能把tree用的数据整理好了啊。
只是每次循环arr的内部,还要循环一下permissions,因为它也是一个ArrayCollection 。
你这个数据的结构和最后要展现的树的结构其实挺清晰的,不复杂。。

有细节问题,你可以再联系我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxhgga
2012-03-09 · TA获得超过687个赞
知道小有建树答主
回答量:1019
采纳率:74%
帮助的人:636万
展开全部
你还是先在后台把数据解析成xml再传到前台来用吧、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式