在actionscript中设置dataprovider

时间:2010-11-25 17:20:27

标签: flex actionscript-3

我在MXML中设置了一个datagrid w / dataProvider属性:

dataProvider="{pagedResult.lastResult}"

如何在actionscript中设置dataprovider?我有:

protected function getResult (event:FlexEvent):void
{
pagedResult.token = mydata.paged();
adg1.dataProvider = pagedResult.lastResult;
}

但是我做错了,因为它不起作用

2 个答案:

答案 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就会自动重绘和更新,而不必担心它。