如何在FLEX中更改datagrid项目上的折线图数据

时间:2010-06-22 13:59:46

标签: flex

我创建了一个折线图,另一个datagrid。基于dataitem点击图表应该更改。 例如   我有3个股票GOOGL,Yahoo和ADBE的股票的数据网格。点击GOOGL谷歌数据应该加载到折线图。

请帮帮我...... !!!!

1 个答案:

答案 0 :(得分:0)

实现这一目标的方法有很多种。 我在这里给出的示例基于数据网格上的`itemClick事件,但您也可以使用绑定完成相同的操作。

<fx:Script>
    <![CDATA[
        import mx.charts.series.LineSeries;
        import mx.controls.dataGridClasses.DataGridItemRenderer;

        [Bindable]
        public var stocks:Array = 
            [
            {
                name: "goog", 
                values: 
                [
                { x:1, y:2 },
                    { x:2, y:8 },
                    { x:3, y:6 },
                    { x:4, y:4 }
                ]
            } ,
            {
                name: "ibm",
                values: 
                [
                { x:1, y:12 },
                    { x:2, y:4 },
                    { x:3, y:5 },
                    { x:4, y:6 }
                ]
            }
            ];


        protected function datagrid_itemClickHandler(event:ListEvent):void
        {
            var i:int;
            i = 2;
            var data:Object = (event.itemRenderer as DataGridItemRenderer).data;
            var line:LineSeries = new LineSeries();
            line.dataProvider = data.values;
            line.xField = "x";
            line.yField = "y";
            chart.series = [line];
        }
    ]]>
</fx:Script>
<s:layout>
    <s:VerticalLayout />
</s:layout>
<mx:LineChart id="chart" dataProvider="{stocks}">

</mx:LineChart>
<mx:DataGrid dataProvider="{stocks}"
             itemClick="datagrid_itemClickHandler(event)"/>
相关问题