(FLEX生成饼图)关于FLEX中的XML转换为ArrayCollection的应用.
说说应用.数据库的使用空间的饼图.当然可以有更多的数据对比.这个根据需求:
题记:学习这个FLEX真是逼不得已,由于最近用这个东西做项目,说实话,好多东西都是我从网上copy过来的,说起来十分汗颜.
自己做的那点东西,完全不足挂齿.好了,还是言归正传吧,把自己的一点点收获还是奉献给大家:这里要谈的是FLEX当中后台获取的XML(主要是自己从数据库当中获取的数据,自己封装的XML)转换成ArrayCollection并且生成饼图;
首先是从后台得到数据,这里只有一点重要的,就是HTTPService的resultFormat,这里大家大可以换很多方式来试试.说起来真是屡试不爽,呵呵,就这么点东西,自己还以为发现了新大陆,原来这个早已经被开垦过的东西已经所剩无几了,哈哈.
还是来谈程序吧,
数据来源,后台,来看看Java代码.
这里返回的就是一个XML格式的数据流.然后就是FLEX的页面获取.
见程序:
这里的程序就是网上的,呵呵,其实自己就是转换了一下.用到的,就说出来吧,主要是这个.
<mx:HTTPService id="request4xml" resultFormat="e4x"
url="{actionURL}" method="post" showBusyCursor="true"
result="response4xml(event);"/>
当中的resultFormat="e4x"和result="response4xml(event);"
然后用下面的方法,取出数据,放到数组当中,说实话,学习的东西还有很多,
private function init():void{
// 1.初始化归属地区
params = {};
params['handle'] = 'pie';
request4xml.send(params);//得到数据
}
private function response4xml(event:ResultEvent):void{
xmlObj = event.result as XML;
arr = new ArrayCollection();
//Alert.show(xmlObj.toXMLString()+xmlObj.length(),'');//可行
//Alert.show(xmlObj.toXMLString()+xmlObj.children().length(),'');//可行
for each(var arrxml:XML in xmlObj.children()){
arr.addItem(arrxml);
}
pieChart.dataProvider = arr;
}
当然不一而论,如果你这里不行,希望换个方式来思考一下,比如上面的得到数据,多用调试,呵呵,这个也是网上学的,希望大家去试试,设置断点吧,自己觉得这个也是屡试不爽,当然,最简单的就是Alert了,就跟syso一样.