我在MXML中设置了一个datagrid w / dataProvider属性:
dataProvider="{pagedResult.lastResult}"
如何在actionscript中设置dataprovider?我有:
protected function getResult (event:FlexEvent):void
{
pagedResult.token = mydata.paged();
adg1.dataProvider = pagedResult.lastResult;
}
但是我做错了,因为它不起作用
答案 0 :(得分:1)
你的代码看起来很稳定,我想问题是你需要转换它。您没有说明您的服务返回的是哪种数据,但出于本示例的目的,我将假设一个数组
尝试这样的事情
var myCollection : ArrayCollection = new ArrayCollection(pagedResult.lastResult as Array);
adg1.dataProvider = myCollection;
答案 1 :(得分:-1)
首先,如果您要从Actionscript设置dataProvider,我会从MXML中删除绑定,或者您可以更新绑定的属性,但我不知道它的类型,所以我假设您没有问题删除从MXML标记绑定。
第二个提到的另一个答案是你想要将结果转换为ArrayCollection,你可以在 mx.utils.ArrayUtil 类中找到一些有用的函数。
最后,在处理大型数据集时,您应该直接更新ArrayCollection,而不是始终创建新数据集。只要您通过新创建的ArrayCollection添加/删除/ etc,list / datagrid就会自动重绘和更新,而不必担心它。