Flex中如何利用openItems属性检测当前Tree的哪一个节点被展开的例子
By Minidxer | December 27, 2008
接下来的例子演示了Flex中如何利用openItems属性,检测当前Tree的哪一个节点被展开。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.events.TreeEvent;
- import mx.utils.ObjectUtil;
- private function tree_openItems_change(evt:TreeEvent):void {
- /* Set the array and let binding do the real work. */
- openItemArr = tree.openItems as Array;
- }
- ]]>
- </mx:Script>
- <mx:Array id="openItemArr" />
- <mx:XML id="xmlDP">
- <node>
- <node label="1.a" />
- <node label="1.b" />
- <node label="1.c">
- <node label="1.c.i" />
- <node label="1.c.ii" />
- <node label="1.c.iii" />
- <node label="1.c.iv" />
- <node label="1.c.v" />
- </node>
- <node label="1.d" />
- <node label="1.e">
- <node label="1.e.i" />
- <node label="1.e.ii" />
- <node label="1.e.iii">
- <node label="1.e.iii.A" />
- </node>
- <node label="1.e.iv" />
- </node>
- <node label="1.f" />
- </node>
- </mx:XML>
- <mx:ApplicationControlBar dock="true">
- <mx:Label text="Tree openItems length: {openItemArr.length}" />
- </mx:ApplicationControlBar>
- <mx:HDividedBox width="100%">
- <mx:Tree id="tree"
- dataProvider="{xmlDP}"
- labelField="@label"
- showRoot="false"
- width="50%"
- rowCount="8"
- itemOpen="tree_openItems_change(event);"
- itemClose="tree_openItems_change(event);" />
- <mx:List id="list"
- dataProvider="{openItemArr}"
- labelField="@label"
- width="50%"
- height="100%" />
- <mx:TextArea id="textArea"
- editable="false"
- text="{ObjectUtil.toString(openItemArr)}"
- width="50%"
- height="100%" />
- </mx:HDividedBox>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Tree |
No Comments » |
Tags: openItems, Tree.