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;
相关文档:
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 ......
绑定:
举个例子: 给下面的public变量加上[Bindable]
[Bindable]
public var name:String = "";
作为一个public变量,肯定既可以被赋值,也能赋值给别的变量。绑定的作用就是,当name改变的时候(被赋值了),可能通知其它被name影响(赋值给它们)的变量发生改变。这里的“可能” ......
对AS、Flex等知识进行汇总,方便大家学习和查找……
温馨提示:
1.下载教程请注意方法,鼠标右键点击链接从弹出菜单中选择迅雷等工具下载,服务器有时太繁忙还请耐心等待一下;
2.单个教程的分卷压缩包请全部下载后解压,否则解压会出现缺包的情况导致解压失败;
3.如还有问题,可以利用三种方法提出:
......