Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2011, 16:13
Avatar de CBX250
CBX250
 
Fecha de Ingreso: julio-2011
Ubicación: RODANDO EN MI TWISTER
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
problemas para cargar datos en un datagrid contenido en un acordeon

Hola a todos. Tengo el siguiente problema.
Estoy desarrollando un sistema en capas cuyo front end esta desarrollado en flex. En una de las interfases tengo un acordeon (“<mx:Accordion”) con tres pestañas, que agrupan los controles según lo que el usuario tiene que interactuar. En la primera pestaña tengo una sección de carga con diferentes controles y un datagrid en el que se muestran los datos. La segunda pestaña es similar. Cuando deseo cargar los datos en los dos datagrid la primera vez que ingreso solo me los carga en el datagrid de la primera pestaña y no en el datagrid de la segunda. La segunda vez que ingreso si me permite cargar los datos en la segunda pestaña. El código de carga es el síguete:
datagrid primera pestaña
Código:
private function cargarLiquidacion(liquidacion:int):void{
 gateway = new Coneccion( "http://localhost/sistemaAdicional/gateway.php" );
 gateway.call( "source.Servicio.Servicio.servicioReadNestor", new Responder(respuestaServicioReadNestor, error) ,liquidacion);
}

private function respuestaServicioReadNestor(Responder:Object):void{
 if((typeof Responder)=='string'){
   error(Responder);
 }else{
  var oDatos:Object;
  var i:int=0;
  while (i < Responder[0].length){
	
   oDatos= new Object;
   oDatos.idServicio=Responder[0][i]['idServicio'];
   //cada valor de retorno se carga de la misma forma
   //oDatos.<campo>=Responder[<indice del array de objetos>][<indice del objeto>]['<atributo>']
   //<campo>: este coincide con el dataField de las columas del datagrid
   oElementoDtgServicio.addItem(oDatos);
   i++;
  }	
 dtgServicios.dataProvider=oElementoDtgServicio;
 }		
}
datagrid segunda pestaña

Código:
private function servicioEquipamientoRead(VEidServicioEquipamiento:int, VEfechaDesde:String, VEfechaHasta:String, VEhorarioInicio:String, VEhorarioFin:String, VEdistanciaKmDesde:int, VEdistanciaKmHasta:int, VEidEquipamientoAdicional:int, VEidUsuario:int, VEidLiquidacionFinal:int):void{
 gateway = new Coneccion( "http://localhost/sistemaAdicional/gateway.php" );
 gateway.call( "source.Servicio.ServicioEquipamiento.servicioEquipamientoRead", new Responder(respuestaServicioEquipamientoRead, error) ,VEidServicioEquipamiento, VEfechaDesde, VEfechaHasta, VEhorarioInicio, VEhorarioFin, VEdistanciaKmDesde, VEdistanciaKmHasta, VEidEquipamientoAdicional, VEidUsuario, VEidLiquidacionFinal);
}

private function respuestaServicioEquipamientoRead(Responder:Object):void{
 if((typeof Responder)=='string'){
  error(Responder);
 }else{
  var oDatos:Object;
  var i:int=0;
  while (i < Responder[0].length){
   oDatos= new Object;
   oDatos.idServicioEquipamiento=Responder[0][i]['idServicioEquipamiento'];
				.
				.
   oElementoDtgServicioEquipamiento.addItem(oDatos);
//Alert.show("--> "+ oElementoDtgServicioEquipamiento.getItemAt(i).horasServicio);
//hasta acá llegan todos los datos. Cuando le asigno el ArrayCollection como dataProvider el datagrid no lo muestra
   i++;
  }	
  DtgServicioEquipamiento.dataProvider=oElementoDtgServicioEquipamiento;
 }		
}
oElementoDtgServicioEquipamiento y oElementoDtgServicio son variables bindeables (creo que se dice así)(“ [Bindable]”) tipo ArrayCollection.
Las funciones las disparo desde otra función que se lanza en el evento focusIn del acordeón. Los parámetros los pasos a través de variables contenidas en paquetes singleton

gracias
salu2

Última edición por CBX250; 03/08/2011 a las 12:54