读书人

如何样 实现Flex 动态调用.net 中的

发布时间: 2013-01-08 14:02:14 作者: rapoo

怎么样 实现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>


getdata.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
String JSONData = "[{\"title\": \"测试1\", \"value\": \"100\"},{\"title\": \"测试2\", \"value\": \"40\"},{\"title\": \"测试3\", \"value\": \"10\"}]";
out.print(JSONData);
%>

[解决办法]
试试动态绑定数据源
<mx:Legend id="legend " dataProvider="{piechart1}" />
private function onJSONLoad(event:ResultEvent):void {
var rawData:String = String(event.result);
var arr:Array = (JSON.decode(rawData) as Array);
ac = new ArrayCollection(arr);

piechart1.dataProvider=ac;
legend. dataProvider=piechart1;

}




读书人网 >flex

热点推荐