Flex中如何在Tree控件中指定一个自定义的label函数使其返回的标签名字为叶项目的名称的例子

By Minidxer | November 1, 2008

接下来的例子演示了Flex中如何在Tree控件中指定一个自定义的label函数,使其返回的标签名字为叶项目的名称。

让我们先来看一下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;
  11.                 switch (item.localName()) {
  12.                     case "league":
  13.                         label = item.@title;
  14.                         break;
  15.                     case "team":
  16.                         label = item.@name;
  17.                         break;
  18.                     case "stadium":
  19.                         label = item.name;
  20.                 }
  21.                 return label;
  22.             }
  23.         ]]>
  24.     </mx:Script>
  25.  
  26.     <mx:XML id="mlb" source="mlb.xml" />
  27.  
  28.     <mx:Tree id="tree"
  29.             dataProvider="{mlb.league}"
  30.             labelFunction="tree_labelFunc"
  31.             width="300"
  32.             rowCount="8" />
  33.  
  34. </mx:Application>

下面是

Download: mlb.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mlb>
  3.     <league id="al" title="American League">
  4.         <team name="Baltimore Orioles" />
  5.         <team name="Boston Red Sox" />
  6.         <team name="Chicago White Sox" />
  7.         <team name="Cleveland Indians" />
  8.         <team name="Detroit Tigers" />
  9.         <team name="Kansas City Royals" />
  10.         <team name="Los Angeles Angels of Anaheim" />
  11.         <team name="Minnesota Twins" />
  12.         <team name="New York Yankees" />
  13.         <team name="Oakland Athletics" />
  14.         <team name="Seattle Mariners" />
  15.         <team name="Tampa Bay Devil Rays" />
  16.         <team name="Texas Rangers" />
  17.         <team name="Toronto Blue Jays" />
  18.     </league>
  19.     <league id="nl" title="National League">
  20.         <team name="Arizona Diamondbacks" />
  21.         <team name="Atlanta Braves" />
  22.         <team name="Chicago Cubs" />
  23.         <team name="Cincinnati Reds" />
  24.         <team name="Colorado Rockies" />
  25.         <team name="Florida Marlins" />
  26.         <team name="Houston Astros" />
  27.         <team name="Los Angeles Dodgers" />
  28.         <team name="Milwaukee Brewers" />
  29.         <team name="New York Mets" />
  30.         <team name="Philadelphia Phillies" />
  31.         <team name="Pittsburgh Pirates" />
  32.         <team name="San Diego Padres" />
  33.         <team name="San Francisco Giants" />
  34.         <team name="St. Louis Cardinals" />
  35.         <team name="Washington Nationals" />
  36.     </league>
  37. </mlb>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Tree | No Comments » | 405 views Tags: , , ,

Search Posts