使用Flex分组定界的平面数据

时间:2012-03-12 20:19:46

标签: actionscript-3 flex flex4

我有一些分隔数据,我需要进入Flex树视图(或其他一种可以显示层次结构的控件。)数据如下所示:

item1,groupA,mainGroup,root
item2,groupA,mainGroup,root
groupA,mainGroup,root
groupB,mainGroup,root
item3,groupB,mainGroup,root
item4,groupB,mainGroup,root
mainGroup,root
groupC,mainGroup,root
groupD,someOtherGroup,root
root

我的flex应用程序已连接到可能会删除根元素的jboss服务器(如果需要),但它实际上无法构建树结构(出于与此问题无关的各种原因。)

无论如何,这需要转换为这样的树(实际顺序无关紧要,只是层次结构。):

++ root
|-+ mainGroup
| |-+ groupA
| |  - item1
| |  - item2
| |-+ groupB
| |  - item3
| |  - item4
| |-+ groupC
|-+ someOtherGroup
| |-+ groupD

我知道如何使用分组集合对平面数据进行分组,如here所述。但是我没有运气找到一种方法来灵活地实际读取/解释分隔格式(没有预处理它并自己构建正确的结构。)

提前感谢任何建议。

1 个答案:

答案 0 :(得分:1)

我认为预处理将是唯一的方法。我的意思是让你编写一个方法,根据一个基于你的初始数据的算法适当地创建GroupingCollection。

拆分方法: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#split()

群集对:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/collections/GroupingCollection.html#grouping

分组:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/collections/Grouping.html#fields

的GroupingField:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/collections/GroupingField.html

在查看文档时,他们确实拥有那些groupingObjectFunction属性,虽然在我的生活中,我无法理解应该做什么。