Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何将项目附加到数据提供程序?(弹性)_Apache Flex_Actionscript 3_Actionscript_Dataprovider - Fatal编程技术网

Apache flex 如何将项目附加到数据提供程序?(弹性)

Apache flex 如何将项目附加到数据提供程序?(弹性),apache-flex,actionscript-3,actionscript,dataprovider,Apache Flex,Actionscript 3,Actionscript,Dataprovider,我想做的是简单地添加到数据提供程序,但是当我添加到数据提供程序时,我会得到一个错误 这是我试图运行的代码 dg.dataProvider.addItem(obj.ResultSet.Result[i]); 它在for循环中,使用i作为整数 它的工作非常好做 dg.dataProvider = obj.ResultSet.Result 但这对我不起作用,因为我需要多次向数据提供程序添加数据。我得到10个批次的结果,我需要在收到每个批次时将其添加到数据提供程序中 我也试着去做 var dgDP:

我想做的是简单地添加到数据提供程序,但是当我添加到数据提供程序时,我会得到一个错误

这是我试图运行的代码

dg.dataProvider.addItem(obj.ResultSet.Result[i]);
它在for循环中,使用i作为整数

它的工作非常好做

dg.dataProvider = obj.ResultSet.Result
但这对我不起作用,因为我需要多次向数据提供程序添加数据。我得到10个批次的结果,我需要在收到每个批次时将其添加到数据提供程序中

我也试着去做

var dgDP:dataProvider = new dataProvider();
但由于某种原因Flex不认识它


关于如何实现这一点,您有什么想法吗?

数据提供程序是驻留在许多基于列表的类上的属性。它不是一种数据类型。您的数据提供程序的数据类型是什么?它可以是XML、数组、XMLListCollection、ArrayCollection、XMLList或泛型对象。[我假设支持其他数据类型)

向数据提供程序添加内容的“方式”完全取决于您使用的数据提供程序的类型

在Flex4中,数据提供者对象必须实现IList接口,但在Flex3中,数据提供者是通用对象


在您的情况下,由于您已经拥有了这些对象,我只需在它们上面循环并将它们添加到数组或ArrayCollection中,然后使用hat数组作为数据提供程序。

您必须初始化
数据提供程序

<mx:DataGrid creationComplete="onDGCreate(event)"/>
现在这将起作用:

dg.dataProvider.addItem(obj.ResultSet.Result[i]);
当您将ArrayCollection和XMLListCollection以外的内容分配给
dataProvider
属性时,它将是。此接口的唯一实现者是
ListCollectionView
类(ArrayCollection和XMLListCollection的基类),该类具有方法。

但在Flex 3中,数据提供程序是通用对象
dg.dataProvider.addItem(obj.ResultSet.Result[i]);