Как добавить список массивов (полученный из blazeDS) в качестве узла дерева в flex

Я хочу добавить список массивов (полученный от blazeDS) в качестве узлов к дереву. И после щелчка по конкретному узлу из служебного уровня вызывается связанный список. Я сделал это, но он не будет дочерним узлом в том же дереве.

<mx:Tree x="45" y="61" id="tree" change="tree_changeHandler(event)" creationComplete="tree_creationCompleteHandler(event)" dataProvider="{getReporteesResult2.lastResult}" labelField="mgrName" width="409"></mx:Tree>

Код AS3:

Функция ниже показывает данные в виде значка листа в дереве.

protected function tree_creationCompleteHandler(event:FlexEvent):void
        {
            getReporteesResult2.token = managerList.getReportees("rjacoby");

        }

при щелчке узла служба запускается, и я получаю связанные данные, которые тоже находятся под rjacoby.

protected function tree_changeHandler(event:Event):void
        {
            managerId=event.currentTarget.selectedItem.mgrId;
            Alert.show(managerId);
            getReporteesResult3.token = managerList.getReportees(managerId);

Я хочу, чтобы эти данные отображались как дочерние элементы rjacoby со значком папки в том же дереве. Как я могу это получить. Пожалуйста, помогите.

Спасибо Рими


person mukherjeerimi    schedule 30.05.2012    source источник


Ответы (1)


Каждый узел в дереве имеет свойство под названием children, которое представляет собой массив. Все дочерние узлы для этого узла будут внутри этого свойства. В вашем случае, когда вы добавляете ветвь узла (rjacoby) к дереву, также создайте для него один дочерний элемент []. И когда ответ вернется, добавьте свои новые элементы к дочерним элементам [] этого узла.

Если вам нужен больший контроль, вы можете подумать о написании класса TreeUtility, который использовал бы некоторые классические алгоритмы (поиск по ширине или тому подобное) и помог бы вам пройти по всему дереву. Я написал один такой класс для одного из таких сценариев, где плоские данные поступают из уровня обслуживания, и мне нужно создать иерархический объект, который был помещен в дерево.

person akhil_mittal    schedule 09.07.2012