flex RESULT_FORMAT_E4X对象转化为ArrayCollection
刚接触flex. 在用HTTPService获取XML格式数据再绑定给DataGrid时.遇到一个很"奇怪"的问题 就是当xml的条目小于等于1时,就会出错. 很是郁闷了一段时间 后来才发现. 问题即不是出在HTTPService上,也不是出在DataGrid上. 而是出在 RESULT_FORMAT_E4X 型数据类型转化为ArrayCollection上 原来 event.result 返回的是object. 当一条记录时,赋给集合,那肯定是有问题
如果返回多于1条, 就会认为是集合. 再赋出ArrayCollection或绑定DataGrid就没问题了
所以返回的object 一定要转化. 以下的代码就不会出错了.
+ Math.random().toString();
hs.resultFormat=HTTPService.RESULT_FORMAT_E4X;
hs.addEventListener(ResultEvent.RESULT, r);
hs.send();
}
private function r(event:ResultEvent):void
{
var xml:XML=event.result as XML;
for each (var xm:XML in xml.item)
{
xmls.addItem(xm);
}
dg.dataProvider=xmls;
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="InitApp()">
<mx:Script>
<![CDATA[
......
uint int Number
Flex 四舍五入:
整数的四舍五入法,Math.round(一个Number类型的数)
小数的有 tofixed(uint) 方法
例如 var num:Number = 56.159;
num.tofixed(2); 它是个S ......
1-首先写一个加载外部swf文件的类
package Package
{
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
import mx.core.UIComponent;
import mx.events.FlexEvent;
public class CtmOb ......
Getting Around Bug in Adobe Flex: TabControl Inline Event Handling for TabIndexChange Doesn't Work
I ran into this because I wanted to do something funky. I wanted my Flex app window to change PageStates (and size) whenever the TabIndex changed. Whether doing this kind of thing is wise ......
//假设二维数组为 [5][7]
var xn:Number = 5;
var yn:Number = 7;
//定义一数值变量
var temp:Number = 0; //定义我们的二维数组
var myArray:Array = new Array(); //填充二维数组
for(var i=0;i ......