0
public function capturaPermisos():ArrayCollection{
var arrayColl:ArrayCollection = new ArrayCollection();
for(var i:int=0; i < dataProvider.length; i++){
object.idModulo = dataProvider[i].idModulo;
object.consultar = dataProvider[i].consultar;
object.agregar = dataProvider[i].agregar;
object.modificar = dataProvider[i].modificar;
object.eliminar = dataProvider[i].eliminar;
arrayColl[i].addItem(object);
}
return arrayColl;
}
dataProvider来自数据网格,因此是循环。该对象在funcion之外全局声明。我在这里做错了什么?尝试使用对象填充和ArrayCollection
for each(var per:Object in adgPermisos.dataProvider)
{
permiso.idModulo = per.idModulo;
permiso.consultar = per.consultar;
permiso.agregar = per.agregar;
permiso.modificar = per.modificar;
permiso.eliminar = per.eliminar;
permisos.addItem(permiso);
}
第二个循环做了完全相同的错误结果。
它可以节省我的数据提供程序的最后一个注册表中的所有3条线中的ArrayCollection的(在DataProvider.length的是3)
我dataProvider是一个ArrayCollection太多,但它不是充满了我的Datagrid相同Arrcooll。当我想将数据发送到服务器时,我的数据网格中的复选框添加了不同的值,并且呈现与填充数据网格时不同的arrayCollection。
我只想填充另一个arrayCollection将它发送到我的java webservice像这样;
我忘了提及该对象是在函数之外声明的。哦,dataprovider.length是一个翻译错误,我忘了粘贴那个。 – overmann 2011-03-04 18:32:28
您是否多次添加相同的对象?你也应该改变** arrayColl [i] .addItem(object); **到** arrayColl.addItem(object); **。您可能会考虑的另一件事是,不要从dataProvider克隆对象,您可以将[dataProvider]直接设置为arrayColl。 (例如,如果dataProvider的类型为Array,则可以将其设置为** arrayColl.source = dataProvider; **) – 2011-03-04 19:35:01
请参阅我的原始问题。 – overmann 2011-03-04 20:45:54