【问题标题】:Flex - How to get Tree itemClick event to mimic itemOpen event?Flex - 如何让 Tree itemClick 事件模仿 itemOpen 事件?
【发布时间】:2009-02-18 10:08:57
【问题描述】:

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

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

有人可以帮忙吗?谢谢:)

【问题讨论】:

    标签: apache-flex actionscript-3 events tree


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      相关资源
      最近更新 更多