Comunidad de diseño web y desarrollo en internet online

Problemas con ArrayCollection

Citar            
MensajeEscrito el 24 Oct 2008 10:43 am
Muy buenas, soy nuevo con esto de flex y tengo un problemilla, os muestro el codigo

Código :

private function srvFormacionCentrosEnCursoSendEvent(evento:ResultEvent):void
      {                           
         var actividades:ArrayCollection = evento.result.items.formacion_centros.formacion_centro;
         this.tbFormacionCentrosEnCurso.tabla.dataProvider = actividades;         
      }


Esta es la función que uso para para el evento de haber recibido la respuesta del servidor, bueno quien conozca flex no tendré problema en saber a que me refiero, la cuestión es que funciona bien mientras se recibe este xml:

Código :

<items>
   <formacion_centros>
              <formacion_centro actividadID="2711"
                               codigo_generado="072922ES191"
                               titulo="Titulo 1"
                               asesor="nombre del asesor"
                               fecha_inicio="10-12-2007"
                               fecha_fin="31-10-2008"
                               periodo_lectivo="Periodo Antiguo"
                              objetivo=""
                              modalidad="CURSO"
              />
              <formacion_centro actividadID="2711"
                               codigo_generado="072922ES191"
                               titulo="Titulo 2"
                               asesor="nombre del asesor"
                               fecha_inicio="10-12-2007"
                               fecha_fin="31-10-2008"
                               periodo_lectivo="Periodo Antiguo"
                              objetivo=""
                              modalidad="CURSO"
              />
      </formacion_centros>
</items>


Pero sin embargo al recibir un solo componente al recibir esto:

Código :

<items>
   <formacion_centros>
              <formacion_centro actividadID="2711"
                               codigo_generado="072922ES191"
                               titulo="Titulo 1"
                               asesor="nombre del asesor"
                               fecha_inicio="10-12-2007"
                               fecha_fin="31-10-2008"
                               periodo_lectivo="Periodo Antiguo"
                              objetivo=""
                              modalidad="CURSO"
              />
              
      </formacion_centros>
</items>


Me da el siguiente error: TypeError: Error #1034: Error de conversión forzada: no se puede convertir mx.utils::ObjectProxy@c562e99 en mx.collections.ArrayCollection.

Y no entiendo por que cuando hay 2 o mas elemento en el REsultEvent si lo trasforma a un ArrayCollection y cuando solo hay uno no, a ver si me podéis echar una mano.

Os pongo tambien el codigo del httpservice:

Código :

<mx:HTTPService id="srvFormacionCentrosEnCurso" showBusyCursor="true" result="srvFormacionCentrosEnCursoSendEvent(event)" fault="srvFormacionCentrosEnCursoFaultEvent(event)"/>

Por jcantero

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2008 03:35 pm
Hola jcantero:

Este es un bug ya conocido, deber utilizar la libreria mx.utils.ArrayUtil de esta forma:

private function srvFormacionCentrosEnCursoSendEvent(evento:ResultEvent):void
{
var actividades:ArrayCollection;
actividades = new ArrayCollection(ArrayUtil.toArray(evento.result.items.formacion_centros.formacion_centro));
this.tbFormacionCentrosEnCurso.tabla.dataProvider = actividades;
}

Por zkarlitoz

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.