<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx=" http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Declarations>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.charts.CategoryAxis;
import mx.charts.ColumnChart;
import mx.charts.chartClasses.Series;
import mx.charts.series.ColumnSeries;
import mx.collections.ArrayCollection;
import mx.containers.Panel;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.utils.ObjectUtil;
[Bindable]
private var medalsAC:ArrayCollection = new ArrayCollection( [
{ Country: "USA", Gold: 35, Silver:39, Bronze: 29 },
{ Country: "China", Gold: 32, Silver:17, Bronze: 14 },
{ Country: "Russia", Gold: 27, Silver:27, Bronze: 38 } ]);
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
var myColumnSeries:Array = new Array();
var column:ColumnSeries;
var columnObj:Object= medalsAC.getItemAt(0);//可以使后台传来的数据
var objInfo:Object = ObjectUtil.getClassInfo(columnObj);
var fieldNames:Array = objInfo["properties"] as Array;
var len:int = fieldNames.length;
for(var j:int=0; j<len; j++)
{
if("Country" == fieldNames[j])
{
continue;
}
column = new ColumnSeries();
column.xField = fieldNames[1];
column.yField = fieldNames[j];
column.displayName = fieldNames[j];
myColumnSeries.push(column);
}
chart.series = myColumnSeries;
chart.showDataTips = true;
cont.addChild(chart);
}
]]>
</fx:Script>
<mx:Panel id="cont" title="ColumnChart and BarChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:ColumnChart id="chart"
height="100%"
width="45%"
paddingLeft="5"
paddingRight="5"
showDataTips="true"
dataProvider="{medalsAC}"
>
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Country"/>
</mx:horizontalAxis>
</mx:ColumnChart>
</mx:Panel>
</s:Application>
<s:Application xmlns:fx=" http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)">
<fx:Declarations>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.charts.CategoryAxis;
import mx.charts.ColumnChart;
import mx.charts.chartClasses.Series;
import mx.charts.series.ColumnSeries;
import mx.collections.ArrayCollection;
import mx.containers.Panel;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.utils.ObjectUtil;
[Bindable]
private var medalsAC:ArrayCollection = new ArrayCollection( [
{ Country: "USA", Gold: 35, Silver:39, Bronze: 29 },
{ Country: "China", Gold: 32, Silver:17, Bronze: 14 },
{ Country: "Russia", Gold: 27, Silver:27, Bronze: 38 } ]);
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
var myColumnSeries:Array = new Array();
var column:ColumnSeries;
var columnObj:Object= medalsAC.getItemAt(0);//可以使后台传来的数据
var objInfo:Object = ObjectUtil.getClassInfo(columnObj);
var fieldNames:Array = objInfo["properties"] as Array;
var len:int = fieldNames.length;
for(var j:int=0; j<len; j++)
{
if("Country" == fieldNames[j])
{
continue;
}
column = new ColumnSeries();
column.xField = fieldNames[1];
column.yField = fieldNames[j];
column.displayName = fieldNames[j];
myColumnSeries.push(column);
}
chart.series = myColumnSeries;
chart.showDataTips = true;
cont.addChild(chart);
}
]]>
</fx:Script>
<mx:Panel id="cont" title="ColumnChart and BarChart Controls Example"
height="100%" width="100%" layout="horizontal">
<mx:ColumnChart id="chart"
height="100%"
width="45%"
paddingLeft="5"
paddingRight="5"
showDataTips="true"
dataProvider="{medalsAC}"
>
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Country"/>
</mx:horizontalAxis>
</mx:ColumnChart>
</mx:Panel>
</s:Application>