Flex中如何在PieChart的数据发生变化时弹出显示

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="horizontal"
        verticalAlign="middle"
        backgroundColor="white" viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
            import mx.events.ListEvent;
            import mx.events.SliderEvent;

            private function slider_change(evt:SliderEvent):void {
                var arr:Array = [];
                if (evt.value >= 0) {
                    arr[evt.value] = 0.2;
                }
                series.perWedgeExplodeRadius = arr;
            }

            private function list_itemRollOver(evt:ListEvent):void {
                var arr:Array = [];
                arr[evt.rowIndex] = 0.2;
                series.perWedgeExplodeRadius = arr;
                /* Update the slider. */
                slider.value = evt.rowIndex;
            }

            private function comboBox_change(evt:ListEvent):void {
                var field:String = evt.currentTarget.selectedItem.label;
                series.field = field;
            }

            private function series_labelFunc(item:Object, field:String, index:Number, percentValue:Number):String {
                return item.name + ":\n" + field + ":" + Number(item[field]).toFixed(3);
            }
        ]]>
    </mx:Script>

    <mx:ArrayCollection id="arrColl">
        <mx:source>
            <mx:Array>
                <mx:Object name="R Winn" obp=".353" slg=".445" avg=".300" />
                <mx:Object name="P Feliz" obp=".290" slg=".418" avg=".253" />
                <mx:Object name="O Vizquel" obp=".305" slg=".316" avg=".246" />
                <mx:Object name="B Molina" obp=".298" slg=".433" avg=".276" />
                <mx:Object name="R Durham" obp=".295" slg=".343" avg=".218" />
            </mx:Array>
        </mx:source>
    </mx:ArrayCollection>

    <mx:ApplicationControlBar dock="true">
        <mx:Form styleName="plain">
            <mx:FormItem label="explode wedge:">
                <mx:HSlider id="slider"
                        minimum="-1"
                        maximum="{arrColl.length - 1}"
                        snapInterval="1"
                        liveDragging="true"
                        dataTipPrecision="0"
                        change="slider_change(event);" />
            </mx:FormItem>
            <mx:FormItem label="field">
                <mx:ComboBox id="comboBox"
                        change="comboBox_change(event);">
                    <mx:dataProvider>
                        <mx:Array>
                            <mx:Object label="avg" />
                            <mx:Object label="obp" />
                            <mx:Object label="slg" />
                        </mx:Array>
                    </mx:dataProvider>
                </mx:ComboBox>
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:List id="list"
            dataProvider="{arrColl}"
            labelField="name"
            width="100"
            height="100%"
            itemRollOver="list_itemRollOver(event);" />

    <mx:PieChart id="chart"
            height="100%"
            width="100%"
            showDataTips="true"
            dataProvider="{arrColl}">
        <mx:series>
            <mx:PieSeries id="series"
                    nameField="name"
                    field="avg"
                    labelPosition="callout"
                    labelFunction="series_labelFunc"
                    filters="[]" />
        </mx:series>
    </mx:PieChart>

</mx:Application>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值