我有一些分隔数据,我需要进入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所述。但是我没有运气找到一种方法来灵活地实际读取/解释分隔格式(没有预处理它并自己构建正确的结构。)
提前感谢任何建议。
答案 0 :(得分:1)
我认为预处理将是唯一的方法。我的意思是让你编写一个方法,根据一个基于你的初始数据的算法适当地创建GroupingCollection。
拆分方法: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#split()
群集对:
分组:
的GroupingField:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/collections/GroupingField.html
在查看文档时,他们确实拥有那些groupingObjectFunction属性,虽然在我的生活中,我无法理解应该做什么。