Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/07/2008, 10:18
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 20 años, 3 meses
Puntos: 43
Respuesta: Ayuda con addEventListener

Cita:
Iniciado por isragma Ver Mensaje
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(0Query.RECORDCOUNTi++){ 
 
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(0Query.RECORDCOUNTi++){ 
 
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.CLICKonImageClick); 
 } 
else{ 
 
imageA.source="cerrado.gif" 


gridItemA.addChild(imageA); 
gridRowA.addChild(gridItemA); 
gridItem.addChild(gridRowA); 



private function 
onImageClick(evt:MouseEvent) {
      
trace(evt.target.imageId);

Saludos !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.