Comunidad de diseño web y desarrollo en internet online

vo

Citar            
MensajeEscrito el 27 Sep 2009 06:10 pm
hola,
soy nueva en flex y necesito recoger los datos de la base de datos y pasarlos al mxml. Entonces he intentado crear un vo para recogerlos, pero no me lo reconoce. No se si tengo q importarlos de alguna forma lo tngo q crear en otro sitio,...
Espero respuesta pronto,
Gracias

Por mcnudi

0 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Sep 2009 09:45 am
Te pongo un ejemplo por si te sirve:

Primero la clase UserVO:

Código ActionScript :

package com.davidlopezgamero.cristalab.vo
{
   
   public class UserVO
   {
      
      private var _id:uint;
      private var _name:String;
      private var _lastname:String;
      
      public function UserVO()
      {
      }

      public function get lastname():String
      {
         return _lastname;
      }

      public function set lastname(v:String):void
      {
         _lastname = v;
      }

      public function get name():String
      {
         return _name;
      }

      public function set name(v:String):void
      {
         _name = v;
      }

      public function get id():uint
      {
         return _id;
      }

      public function set id(v:uint):void
      {
         _id = v;
      }

   }
}


Después la clase que asocia cada dato obtenido del XML con el UserVO:

Código ActionScript :

package com.davidlopezgamero.cristalab
{
   import mx.collections.ArrayCollection;
   import mx.rpc.events.ResultEvent;
   import mx.rpc.http.HTTPService;

   import com.davidlopezgamero.cristalab.vo.UserVO;

   public class ResultadoXML
   {
      
      private var _data:HTTPService = new HTTPService ();
      public var _allUsers:ArrayCollection = new ArrayCollection();
      
      public function ResultadoXML()
      {
         _data.url = "URL_DEL_XML";
         _data.send();
         _data.addEventListener(ResultEvent.RESULT, onResult);
      }
      
      private function onResult (ev:ResultEvent):void
      {
         //clientes hace referencia al primer tag del XML.
         var dataResult:ArrayCollection = ev.result.clientes as ArrayCollection;
         for (var i:uint = 0; i<dataResult.length; i++)
         {
            var usersRS:UserVO = new UserVO();
            var usersObj:Object = dataResult.getItemAt(i);
            usersRS.id = usersObj.id;
            usersRS.name = usersObj.name;
            users.lastname = usersObj.lastname;
            _allUsers.addItem(usersRS);
         }
      }
   }
}


Y por último solo tendrías que asociar un dataGrid con el ArrayCollection (_allUsers) de la clase ResultadoXML.

No se si me he explicado bien?.

David

Por davidlopezgamero

Claber

134 de clabLevel



  Héroes

Port de la Selva - GIRONA

safari

 

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