如何以编程方式访问树上的节点?

时间:2014-09-05 19:18:05

标签: flex

我有一个简单的问题。我希望用户能够将一个或多个用户从用户列表<s:List>拖放到公司树<mx:Tree>上的所需公司。

我找到了所有的拖放代码并且Flex应用程序按照需要执行,除了当应用程序用户将用户对象拖到他们希望添加到的公司上时,它不会提供任何类型的视觉提示。查看Flex文档,在dragOver事件中使用此方法的唯一方法是将拖放对象放入哪个公司的任何可视指示:

CompanyTree.showDropFeedback(event);

上面的代码在公司名称之上或之下绘制了一条丑陋的线条,这使得它看起来会被放在公司的上方或下方,这不是我想要的。应用程序用户应该清楚,他们拖到公司的用户会进入公司内部。

我想要做的是给作为拖动目标的公司突出显示&#39;影响。但是我遇到了一个大问题:根据Flex文档,以及FlashBuilder和Flex SDK的帮助,无法访问树上的各个节点! < / p>

我在dragOver事件中可以做的是使用以下代码获取用户被删除的项目的索引:

var index:int = CompanyTree.calculateDropIndex(event);

但是,我对该索引所做的是使用它来直接访问节点,并将其提供给突出显示的&#39;效果或应用某种类型的setStyle调用,向用户显示它当前是drop的目标!

我想要做的是这样的事情:

var hoveredNode:UIComponent = CompanyTree.Nodes[index];

hoveredNode.setStyle("color",0xFF0000);

但似乎我不能,因为Flex似乎没有任何方式来访问树上的节点。或者我错过了什么?

PS请注意,我无法在dragOver事件期间更改CompanyTree的selectedIndex,因为我还必须保留移动用户旧公司的内容。

1 个答案:

答案 0 :(得分:-1)

你肯定错过了很多!!!一切都可用,你只需要寻找它(研究)。我使用树木与任何节点,可以连接到单独的SWF。图像文件等或显示缩略图的树在鼠标悬停在节点上时,通过选择显示完整大小的图像,例如。研究就是一切,而不仅仅是在FLEX4 +中,我不得不承认,由于许多开发人员已经变得更加环保,因此越来越难找到任何东西。自从ADOBE让他们处于寒冷状态以来,牧场更加美好!关于aktell