1

我正在使用带有 XMLListContainer dataProvider 的 Tree 控件...。我使用 itemOpen 事件和以下代码在打开树文件夹时更新另一个数据提供程序(使用小三角形) - 数据提供程序包含<slide />该特定内容中的所有元素树文件夹...

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);                        
}

任何人都可以帮忙吗?谢谢 :)

4

1 回答 1

2

我会更改您的事件侦听器以侦听更改事件,并使用 Tree 的 selectedItem 属性:

private function changeHandler(event:ListEvent):void
{                  
    slideDP = new XMLListCollection(tree.selectedItem.elements("slide"));

    slideDP.refresh();                           
}

您可能需要将 selectedItem 转换为 XML 或 XMLList。

于 2009-02-18T14:20:34.323 回答