Cita:
Iniciado por isragma
NOP .. Esa id_imagen es variable y es leida desde una consulta de la base de datos, mira el código es más o menos así:
Código PHP:
for(i = 0; i < Query.RECORDCOUNT; i++){
gridItemA = new GridItem();
gridRowA = new GridRow();
imageA = new Image();
if(Query.DATA.ESTATUS[i] == 1){
imageA.source="abierto.gif"
imageA.addEventListener(MouseEvent.CLICK,function():void{miFuncion(Query.DA TA.ID[i])});
}
else{
imageA.source="cerrado.gif"
}
gridItemA.addChild(imageA);
gridRowA.addChild(gridItemA);
gridItem.addChild(gridRowA);
}
}
donde id_imagen = Query.DA TA.ID[i]
Hola isragma !
Porque no extiendes la clase Image de flex para que le puedas añadir el id de la imagen, por ejemplo:
Código PHP:
package {
import mx.controls.Image;
public class MyImage extends Image {
private var _imageId:uint;
public function get imageId():uint {
return _imageId;
}
public function set imageId(id:uint):void {
_imageId = id;
}
}
}
Y en tu código en lugar de crear instancias de Image, creas de la clase MyImage pasándole el id de la consulta a su propiedad idImage:
Código PHP:
for(i = 0; i < Query.RECORDCOUNT; i++){
gridItemA = new GridItem();
gridRowA = new GridRow();
imageA = new MyImage();
if(Query.DATA.ESTATUS[i] == 1){
imageA.source="abierto.gif"
imageA.imageId = Query.DATA.ID[i];
imageA.addEventListener(MouseEvent.CLICK, onImageClick);
}
else{
imageA.source="cerrado.gif"
}
gridItemA.addChild(imageA);
gridRowA.addChild(gridItemA);
gridItem.addChild(gridRowA);
}
}
private function onImageClick(evt:MouseEvent) {
trace(evt.target.imageId);
}
Saludos !