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;
相关文档:
1.拷贝内容到剪贴板:
System
.
setClipboard
(
strContent)
;
2.克隆一个 ArrayCollection :
var
bar:
ArrayCollection = new
ArrayCollection(
)
;
for
each
(
var
i:
Object
in
ac )
{
bar.
addItem(
i )
;
}
var
bar:
ListCollectionVie ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="InitApp()">
<mx:Script>
<![CDATA[
......
Flex是Macromedia发布的presentation server(展现服务),它是java web
container或者.net
server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的
flash player或者shockwave player解释执行,给用户以丰富的客户体验。
大名鼎鼎的Macromedia Flash是强大 ......
转自:http://www.cnblogs.com/jiahuafu/archive/2009/03/20/1417679.html
在Flex Application里,是不能直接用addChild添加Sprite,MovieClip等来自flash.display包里的类的。譬如以下代码就会报错:
private function init():void
{
var sp:Sprite = new Sprite();
addChild(sp);
}
TypeEr ......
//假设二维数组为 [5][7]
var xn:Number = 5;
var yn:Number = 7;
//定义一数值变量
var temp:Number = 0; //定义我们的二维数组
var myArray:Array = new Array(); //填充二维数组
for(var i=0;i ......