如何在flex中添加数组列表(从blazeDS获取)作为树节点



我想将数组列表(从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 的子项,并在同一棵树中带有文件夹图标。我怎么能得到它。请帮忙。

谢谢里米

中的每个节点都有一个称为 child 的属性,它是一个数组。该节点的所有子节点都将位于此属性内。在您的情况下,当您将分支节点 (rjacoby) 添加到树中时,也为它创建一个子节点[]。当响应返回时,将您的新项目添加到该节点的子节点[]中。

如果你想要更多的控制,你可以考虑编写一个TreeUtility类,该类将使用一些经典算法(广度搜索或类似),并帮助你遍历整个树。我为其中一个场景编写了一个这样的类,其中平面数据来自服务层,我需要创建放置在树中的分层对象。

相关内容

  • 没有找到相关文章

最新更新