Apache flex Flex-如何获取树itemClick事件以模拟itemOpen事件?
我正在使用带有XMLListContainer数据提供程序的树控件。。。。当打开树文件夹时(使用小三角形),我使用带有以下代码的itemOpen事件来更新另一个数据提供程序-数据提供程序包含该特定树文件夹中的所有Apache flex Flex-如何获取树itemClick事件以模拟itemOpen事件?,apache-flex,actionscript-3,events,tree,Apache Flex,Actionscript 3,Events,Tree,我正在使用带有XMLListContainer数据提供程序的树控件。。。。当打开树文件夹时(使用小三角形),我使用带有以下代码的itemOpen事件来更新另一个数据提供程序-数据提供程序包含该特定树文件夹中的所有元素 private function itemOpenEvent(event:TreeEvent):void { slideDP = new XMLListCollection(event.item.elements("slide")); slideDP.r
元素
private function itemOpenEvent(event:TreeEvent):void {
slideDP = new XMLListCollection(event.item.elements("slide"));
slideDP.refresh();
}
如果打开第二个文件夹,则thumbDP更新正常,但单击第一个文件夹(或另一个关闭的文件夹)时,我希望发生相同的行为(当前您必须关闭并重新打开第一个文件夹)
所以我使用了itemClick事件——但这会触发ListEvent,我无法确定如何从XMLListContainer轻松获取子元素。。。下面的代码抛出一个越界异常
private function itemClickEvent(event:ListEvent):void {
treeFeed.getItemAt(event.rowIndex);
}
有人能帮忙吗?谢谢:)我会将您的事件侦听器更改为侦听更改事件,并使用树的selectedItem属性:
private function changeHandler(event:ListEvent):void
{
slideDP = new XMLListCollection(tree.selectedItem.elements("slide"));
slideDP.refresh();
}
您可能需要将selectedItem转换为XML或XMLList