免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3882 | 回复: 0
打印 上一主题 下一主题

Flex 使用定时器绘制动态曲线时,ArrayCollection中有数据,但却画不出曲线(在线等) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-03 15:20 |只看该作者 |倒序浏览
帮朋友做个东西,使用Flex绘制动态曲线,ArrayCollection中有数据,但曲线绘制不了
因为是第一次用flex,自己查不出原因,希望大家帮忙解决下,谢谢。
  1. <?xml version="1.0"?>
  2. <!-- Simple example to demonstrate the DateTimeAxis class. -->
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  creationComplete="init()">
  4.         
  5.         <mx:Script>
  6.                 <![CDATA[
  7.                         import mx.charts.chartClasses.AxisLabelSet;
  8.                         import mx.charts.chartClasses.IAxis;
  9.                         import mx.collections.ArrayCollection;
  10.                         import mx.controls.Alert;
  11.                         import mx.formatters.DateFormatter;
  12.                         import mx.rpc.events.ResultEvent;
  13.                         
  14.                         [Bindable]
  15.                         public var testDatas:ArrayCollection;
  16.                         
  17.                         [Bindable]
  18.                         private var maxDate:Date;
  19.                         [Bindable]
  20.                         private var minDate:Date;
  21.                         
  22.                         private var timer:Timer;
  23.                         private var dateFormat:DateFormatter = new DateFormatter();
  24.                         //private var dateVar:Date;
  25.                         private var dateVar:String;
  26.                         private var valueTestValue:Number;
  27.                         
  28.                         private function init():void {
  29.                                 dataRequest.send();
  30.                                 dateFormat.formatString = "HH:NN:SS";     
  31.                                 minDate = new Date();
  32.                                 var dx:Date = new Date();
  33.                                 dx.setMinutes(dx.getMinutes()+1, dx.getSeconds(), dx.getMilliseconds());
  34.                                 maxDate = dx;
  35.                                 
  36.                                 testDatas = new ArrayCollection([{date: dateVar, valueTest: valueTestValue} ]);
  37.                                 
  38.                                 timer =  new Timer(1000);
  39.                                 timer.addEventListener(TimerEvent.TIMER, dataRequest.send);                                
  40.                                 timer.start();
  41.                                 
  42.                         }
  43.                         
  44.                         private function mylabel(labelValue:Object, previousValue:Object, d:IAxis):String {
  45.                                 var str:String = dateFormat.format(labelValue);
  46.                                 return str;
  47.                         }
  48.                         
  49.                         
  50.                         private function dataHandler(event:ResultEvent):void{
  51.                                 var msg:String=event.result.toString();
  52.                                 
  53.                                 msg = msg.replace('=', '|');
  54.                                 msg = msg.replace('&', '|');
  55.                                 var data:Array = msg.split('|');

  56.                                 dateVar = data[1];
  57.                                 valueTestValue = Number(data[3])+ Math.random()*50;
  58.                                 
  59.                                 testDatas.addItem({date: dateVar, valueTest: valueTestValue});
  60.                         }
  61.                         
  62.                 ]]>
  63.         </mx:Script>
  64.         <mx:HTTPService id="dataRequest" url="http://www.gold678.com/union/flash/QuoteZhj.asp" result="dataHandler(event);"></mx:HTTPService>
  65.         
  66.         
  67.         <mx:Panel title="DateTimeAxis Example" height="100%" width="100%">
  68.                 <mx:LineChart id="mychart" height="100%" width="100%"
  69.                                           paddingRight="2" paddingLeft="3"
  70.                                           showDataTips="true" >
  71.                         
  72.                         <mx:horizontalAxis>
  73.                                 <mx:DateTimeAxis dataUnits="seconds" interval="1" minimum="{minDate}"   maximum="{maxDate}" labelFunction="mylabel"   />
  74.                         </mx:horizontalAxis>
  75.                         
  76.                         <mx:verticalAxis>
  77.                                 <mx:LinearAxis baseAtZero="true" />
  78.                         </mx:verticalAxis>
  79.                         
  80.                         <mx:series>
  81.                                 <mx:LineSeries yField="valueTest" xField="date" displayName="Price" dataProvider="{this.testDatas}"/>
  82.                         </mx:series>
  83.                 </mx:LineChart>
  84.         </mx:Panel>
  85. </mx:Application>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP