Flash 无法将ArrayCollection设置为等于Result.Event

Flash 无法将ArrayCollection设置为等于Result.Event,flash,apache-flex,actionscript,Flash,Apache Flex,Actionscript,我正在尝试将数组集合设置为包含数组集合的event.result,但我的数组集合始终为空。event.result不是空的,因为我可以将其指定为datagrid的dataprovider,并且可以正常工作(正确显示数据) 你知道我做错了什么吗?确保你的结果是ArrayCollection!这一行: dgSomeDataGrid.dataProvider = event.result; 没有任何类型相关的操作。这条线行吗 dgSomeDataGrid.dataProvider = event.r

我正在尝试将数组集合设置为包含数组集合的event.result,但我的数组集合始终为空。event.result不是空的,因为我可以将其指定为datagrid的dataprovider,并且可以正常工作(正确显示数据)


你知道我做错了什么吗?

确保你的结果是
ArrayCollection
!这一行:

dgSomeDataGrid.dataProvider = event.result;
没有任何类型相关的操作。这条线行吗

dgSomeDataGrid.dataProvider = event.result as ArrayCollection;
?


放置断点并检查数据的真实类型。

确保结果是
ArrayCollection
!这一行:

dgSomeDataGrid.dataProvider = event.result;
没有任何类型相关的操作。这条线行吗

dgSomeDataGrid.dataProvider = event.result as ArrayCollection;
?


放置断点并检查数据的真实类型。

如果对象的类型不正确,
as
运算符将返回null。无论event.result是什么,它都不是
ArrayCollection
。你知道那是什么吗?找到答案的一种方法:

Alert.show(getQualifiedClassName(event.result))
如果是
数组
,则可以创建新集合:

var myData:ArrayCollection = new ArrayCollection(event.result);

如果对象类型不正确,

as操作符将返回null。无论event.result是什么,它都不是
ArrayCollection
。你知道那是什么吗?找到答案的一种方法:

Alert.show(getQualifiedClassName(event.result))
如果是
数组
,则可以创建新集合:

var myData:ArrayCollection = new ArrayCollection(event.result);

更多的信息会更好。

结果是什么?如果“as”运算符无法转换您试图转换的内容,则它将始终返回null。我的猜测是,您的结果返回了一些不同的东西(数组、对象、XML?),而您正试图使它成为它所没有的东西。只需使用debug检查类型。

结果应该是什么?如果“as”运算符无法转换您试图转换的内容,则它将始终返回null。我的猜测是,您的结果返回了一些不同的东西(数组、对象、XML?),而您正试图使它成为它所没有的东西。只需使用debug检查类型。

你们说得对:)。WebOrb远程服务的返回类型是对象数组,而不是数组集合。将其更改为:arrayPPCRList=event.result as Array解决了问题!谢谢大家!你们说得对:)。WebOrb远程服务的返回类型是对象数组,而不是数组集合。将其更改为:arrayPPCRList=event.result as Array解决了问题!谢谢大家!你说运气不好是什么意思?当调试器在您的断点处停止时,您发现的
事件的确切类型是什么?不走运是什么意思?当调试器在断点处停止时,您找到的
事件.result的确切类型是什么?