Estoy trabajando en una aplicación AIR que trabaja con formularios. Estoy creando uno de los formularios a partir de los datos de un array, es decir, pongo los datos del array y doy la opción de añadir un peso con un numericstepper, tal que así:
Código Flex :
for(var recorrido:String in Med) { contadorcalif = contadorcalif + 1; var indicecalif:String = contadorcalif.toString(); var pp:FrmClf = new FrmClf(); CAL.addChild(pp); pp.medCal.text = Med[recorrido].datos; pp.name = indicecalif; Calif.addItemAt(pp.name,0);//Creo un array donde meto los nombres de los hijos y asi eliminarlos por nombre var calific:Calificaciones = new Calificaciones(pp.medCal.text,pp.pesoCal.value.toString(),pp.calCal.text,indicecalif); pp.pesoCal.addEventListener(Event.CHANGE,function(e:Event):void{guardarpesos(e,calific);}); Calif2.addItem(calific); }
Os explico, pp es un componente que yo he creado, con 3 campos, 2 textinput y un numericstepper. Para cada elemento del array, añado un componente pp, donde aparecerá el dato del array(pp.medCal), el numericstepper (pp.pesoCal), y un campo de resumen de estos 2 datos(pp.calCal)... añado un evento para controlar los cambios en el numericstepper y hasta ahí todo bien... Quiero coger los datos de cada hijo con su peso para pasarlos a un reporte.
El problema es que no sé detectar o colocar el evento en un hijo en concreto, es decir, si el array tenía 4 elementos, me añade 4 componentes, pero el listener lo coloca siempre en el último elemento, así que varíe lo que varíe, solo varía el peso en el último elemento, visualmente bien, pero en el reporte me aparecen todo 0, menos el último...
¿Cómo puedo detectar en qué numericstepper estoy haciendo el CHANGE? En la funcion guardarpesos hago lo siguiente:
public function guardarpesos(e:Event,calif:Calificaciones): void
{
var porcentaje:String = (e.currentTarget.value / 100).toString();
var calculofinal:String = calif.datos + " * " + porcentaje;
var calificando2:Calificaciones = new Calificaciones(calif.datos,e.currentTarget.value,calculofinal,calif.indexx);
}// FIN function
Esta función obtiene bien el currentTarget, es decir el valor actual del numericstepper, pero no puedo obtener los otros datos del hijo donde está el numericstepper
EN RESUMEN: Si añado dinamicamente varios hijos a un contenedor, y estos hijos son un componente con varios elementos, ¿Cómo detectar mediante un evento todos los datos de ese child? Gracias!!!!