Сгруппировать плоские данные с разделителями, используя Flex - PullRequest
0 голосов
/ 13 марта 2012

У меня есть некоторые данные с разделителями, которые мне нужно получить в виде дерева 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

MyПриложение Flex подключено к серверу jboss, который потенциально может удалить корневой элемент (при необходимости), но на самом деле не может построить древовидную структуру (по разным причинам, не связанным с этим вопросом).

В любом случаескорость, которая должна быть преобразована в дерево, как это (фактический порядок не имеет значения, только иерархия.):

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

Я знаю, как группировать плоские данные, используя коллекцию группировки, как описано здесь .Но мне не повезло, когда я нашел способ добиться гибкости для фактического чтения / интерпретации формата с разделителями (без предварительной обработки и построения правильной структуры самостоятельно.)

Заранее спасибо за любые предложения.

1 Ответ

1 голос
/ 13 марта 2012

Я думаю, что предварительная обработка будет единственным способом.Под этим я подразумеваю наличие написанного вами метода, который соответствующим образом создает коллекцию GroupingCollection на основе алгоритма, основанного на ваших исходных данных.

Метод разделения: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#split()

GroupingCollection:

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, хотя я не могу понять, что мне делать.

...