怎么样 实现Flex 动态调用.net 中的数据,然后绑定到Flex中的<mx:PieChart 中
怎么样 实现Flex 动态调用.net 中的数据,然后绑定到Flex中的<mx:PieChart 中
[解决办法]
我用的是 JSON数据和Java,其实和.net一样
使用JSON需要下载as3corelib
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="getChartData.send()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import com.adobe.serialization.json.JSON;
[Bindable]
var ac:ArrayCollection;
private function onJSONLoad(event:ResultEvent):void {
var rawData:String = String(event.result);
var arr:Array = (JSON.decode(rawData) as Array);
ac = new ArrayCollection(arr);
}
]]>
</mx:Script>
<mx:PieChart x="41" y="79" id="piechart1" width="189" height="189" showDataTips="true"
dataProvider="{ac}">
<mx:series>
<mx:PieSeries displayName="Series 1" field="value" labelPosition="insideWithCallout"/>
</mx:series>
</mx:PieChart>
<mx:Legend dataProvider="{piechart1}" />
<mx:HTTPService id="getChartData" url="http://localhost:8080/pm/test/getdata.jsp"
useProxy="false" result="onJSONLoad(event)"/>
</mx:Application>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
String JSONData = "[{"title": "测试1", "value": "100"},{"title": "测试2", "value": "40"},{"title": "测试3", "value": "10"}]";
out.print(JSONData);
%>