我是flex和flash builder的新手。我想要做的是连接到http数据服务并从中检索数据。
我找到的所有教程都要经历设置数据服务并获取响应并将其放入网格的过程。
小麦我不理解(它可能非常简单。)是如何获取响应而不是将其放入数据网格中,只需将结果存储在变量中供以后使用。
如果有人可以帮我解决这个问题,我们将非常感激。
答案 0 :(得分:2)
首先创建一个变量来存储结果:
public var results : ArrayCollection;
然后在结果处理程序中,只存储值:
protected function resultHandler(event:ResultEvent):void{
results = new ArrayCollection(event.result as Array);
}
答案 1 :(得分:1)
与Flextras的答案略有不同:
public var results : ArrayCollection;
然后在结果处理程序中,只存储值:
protected function resultHandler(event:ResultEvent):void{
if(event.result is Array)
results = new ArrayCollection(event.result as Array);
else if(event.result is IList)
results = new ArrayCollection(event.result.source);
else
results = new ArrayCollection([event.result]);
}
现在通常不需要检查event.result
的类型,因为大多数Web服务在返回类型中都是一致的。因此,您需要做的就是调试应用程序并在resultHandler
函数的入口处插入断点。然后观察event.result
并记下其类型,并根据该类型保留相应的代码行。
PS:IList
是由ArrayCollection
,ArrayList
和许多其他类实现的接口,因此如果结果是这些类之一,那么您需要保留该行