Flex中通过设置PieSeries对象的labelFunction属性给PieChart控件设置一个自定义的标签的例子

By Minidxer | September 27, 2008

接下来的例子演示了Flex中通过设置PieSeries对象的labelFunction属性,给PieChart控件设置一个自定义的标签。

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


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

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application name="PieSeries_labelFunction_test"
  3.         xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         layout="vertical"
  5.         verticalAlign="middle"
  6.         backgroundColor="white">
  7.  
  8.     <mx:Script>
  9.         <![CDATA[
  10.             import mx.utils.StringUtil;
  11.  
  12.             private function pieSeries_labelFunc(item:Object, field:String, index:Number, percentValue:Number):String {
  13.                 return StringUtil.substitute("{0} ({1}%)",
  14.                             item.@label,
  15.                             percentValue.toFixed(1));
  16.             }
  17.         ]]>
  18.     </mx:Script>
  19.  
  20.     <mx:XMLListCollection id="dp">
  21.         <mx:source>
  22.             <mx:XMLList>
  23.                 <product label="Product 1" data="3" />
  24.                 <product label="Product 2" data="1" />
  25.                 <product label="Product 3" data="4" />
  26.                 <product label="Product 4" data="1" />
  27.                 <product label="Product 5" data="5" />
  28.                 <product label="Product 6" data="9" />
  29.             </mx:XMLList>
  30.         </mx:source>
  31.     </mx:XMLListCollection>
  32.  
  33.     <mx:Panel styleName="opaquePanel"
  34.             width="100%"
  35.             height="100%">
  36.         <mx:PieChart id="pieChart"
  37.                 dataProvider="{dp}"
  38.                 showDataTips="false"
  39.                 height="100%"
  40.                 width="100%">
  41.             <mx:series>
  42.                 <mx:PieSeries id="pieSeries"
  43.                         field="@data"
  44.                         nameField="@label"
  45.                         labelPosition="callout"
  46.                         labelFunction="pieSeries_labelFunc" />
  47.             </mx:series>
  48.         </mx:PieChart>
  49.         <mx:ControlBar width="100%">
  50.             <mx:Legend dataProvider="{pieChart}"
  51.                     direction="horizontal"
  52.                     horizontalGap="100"
  53.                     width="100%" />
  54.         </mx:ControlBar>
  55.     </mx:Panel>
  56.  
  57. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Flex | Tags: , , ,

Related Post

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts

Archives

Sponsored Ads