Flex中如何利用dataDescriptor和labelFunction属性以及hasChildren()和getChildren()函数设置Tree中包含子节点个数的例子

By Minidxer | February 17, 2009

接下来的例子演示了Flex中如何利用dataDescriptor和labelFunction属性,以及hasChildren()和getChildren()函数设置Tree中包含子节点个数。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             private function tree_labelFunc(item:XML):String {
  10.                 var label:String = item.@label;
  11.                 if (tree.dataDescriptor.hasChildren(item)) {
  12.                     label += " (" + tree.dataDescriptor.getChildren(item).length + ")";
  13.                 }
  14.                 return label;
  15.             }
  16.         ]]>
  17.     </mx:Script>
  18.  
  19.     <mx:XML id="treeDP">
  20.         <root>
  21.             <node label="i) One" />
  22.             <node label="i) Two" />
  23.             <node label="i) Three" />
  24.             <node label="i) Four">
  25.                 <node label="ii) One" />
  26.                 <node label="ii) Two" />
  27.                 <node label="ii) Three">
  28.                     <node label="iii) One" />
  29.                     <node label="iii) Two" />
  30.                 </node>
  31.                 <node label="ii) Four" />
  32.             </node>
  33.             <node label="1. Five" />
  34.             <node label="1. Six" />
  35.         </root>
  36.     </mx:XML>
  37.  
  38.     <mx:Tree id="tree"
  39.             dataProvider="{treeDP}"
  40.             labelFunction="tree_labelFunc"
  41.             showRoot="false"
  42.             width="200" />
  43.  
  44. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Tree | No Comments » | 1,262 views Tags: , , , ,

Search Posts