Comunidad de diseño web y desarrollo en internet online

Menu en XML

Citar            
MensajeEscrito el 18 May 2010 01:11 pm
Bueno, al fallar con mi anterior intento de agrupar info en el datagrid.. me voy a por otra solucion...

Bueno, la cosa es asi.. yo tengo el siguiente codigo.

Código ActionScript :

import com.greensock.*; 
import com.greensock.easing.*;

import fl.transitions.Tween;
import fl.transitions.easing.*;
 
var xmlPath:String = "datos.xml";
 
var settingsXML:XML;
 
var tweensArray:Array = new Array();
var buttonTween:Tween;
 
var loader = new URLLoader();
loader.load (new URLRequest(xmlPath));
loader.addEventListener (Event.COMPLETE, xmlLoaded);
 
function xmlLoaded (e:Event):void {
 
   if ((e.target as URLLoader) != null ) {
      settingsXML = new XML(loader.data);
      settingsXML.ignoreWhitespace = true;
      createMenu ();
   }
 
}
 
function createMenu ():void {
   var menuItem:MenuItem;
   var i:uint = 0;
 
   for each (var datos:XML in settingsXML.datos) {
 
      menuItem = new MenuItem();
 
      menuItem.menuLabel.text = datos.@Fecha
      menuItem.menuLabel2.text = datos.@Responsable
      menuItem.menuLabel3.text = datos.@Detalle;

      
      var Obse = [email protected]()
 
      menuItem.menuLabel.autoSize = TextFieldAutoSize.LEFT;
 
      menuItem.x = 20;
      menuItem.y = 20 + i*30 
      menuItem.buttonMode = true;
      menuItem.mouseChildren = false;
 
      menuItem.addEventListener (MouseEvent.MOUSE_OVER, mouseOverHandler);
      menuItem.addEventListener (MouseEvent.MOUSE_OUT, mouseOutHandler);
        menuItem.addEventListener (MouseEvent.CLICK, Clic);
      addChild (menuItem);
 
      i++;
   }

 
function mouseOverHandler (e:Event):void {
 
      TweenMax.to(e.target.BBar.efecto, .5, {colorTransform:{tint:0x66ff00, tintAmount:.5}});
   //buttonTween = new Tween(e.target.BBar, "scaleX", Elastic.easeOut, 1, 2, 1, true);   
}
 
function mouseOutHandler (e:Event):void {
   TweenMax.to(e.target.BBar.efecto, 1, {colorTransform:{tint:0xffffff, tintAmount:1}});
   // buttonTween = new Tween(e.target.BBar, "scaleX", Elastic.easeOut, e.target.scaleX, 1, 1, true);
 
}

function Clic (e:Event):void {
   for each (var datos:XML in settingsXML.datos) {
   MObservaciones.text = datos.@Observaciones
   //trace(datos.@Observaciones)
   
   
   }
   
   var item:MenuItem = e.target as MenuItem;
    trace(item.Obse);

}

}


y un XML con la siguiente estructura.

Código XML :

<data>
 <datos Fecha="2006-08-07" Responsable="alguien" Detalle="fue inciciado..." Observaciones="9999"/>
</data>


Gracias a dios, hasta aca funciona todo Ok.

La idea, es que cuando hagas un clic sobre alguna opcion, esta te muestre el contenido del tag "Observaciones" en un textbox. Me explico? Pero me devuelve un Undefined :S

Les dejo un ejemplo, de como es el menu...


Gracias!!

Por Stranyer

38 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 May 2010 10:56 am
Stranger, cuando tenemos una función como tu Click

Código ActionScript :

function Clic (e:Event):void{
   .....Aquí NO tenemos acceso más que a
   .....e.target.....
   .....y a las variables definidas a nivel global....
   .....por ejemplo a settingsXML
   var item:MenuItem = e.target as MenuItem
   //Vale, tienes, ya, por ejemplo
   trace(item.index)
   //y "supongo", pruebaló
   trace(settingsXML.datos[item.index]@Observaciones
}

Por Eliseo2

710 de clabLevel



 

firefox

 

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