Comunidad de diseño web y desarrollo en internet online

Menu y componentes dinamicos

Citar            
MensajeEscrito el 05 Abr 2010 05:54 pm
Hola a todos, tengo un problema con flex, quiero hacer una aplicacion principal en la que he agregado un contenedor (sesionGroup), tambie hice un componente personalizado que contiene un boton y una etiqueta, posteriormente hice que la aplicacion principal multiplique de forma automatica el componente personalizado y modifique sus valores de forma automatica, este es el codigo de la aplicacion principal:

Código :

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
minWidth="1024" minHeight="768"
creationComplete="init()">

<fx:Declarations>
<s:HTTPService id="sesionService" url="PHPClases/sesiones.php"
resultFormat="object" result="sesionService_resultHandler(event)"/>
</fx:Declarations>

<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;

import spark.components.VGroup;


public var grupoSesion:sesion;
public var cont:int=0;
[Bindable]
public var sesionDatos:ArrayCollection;

public function init():void
{
sesionService.send();
}


protected function sesionService_resultHandler(event:ResultEvent):voi d
{
sesionDatos=event.result.sesiones.sesion;
var i:int=event.result.sesiones.sesion.getItemAt(0).fi las;
while(cont<i)
{
grupoSesion=new sesion();
grupoSesion.nombreSesion=event.result.sesiones.ses ion.getItemAt(cont).nombre;
grupoSesion.indexSesion=cont.toString();
grupoSesion.name=cont.toString();
grupoSesion.addEventListener(MouseEvent.CLICK,most rarEventos);
sesionGroup.addElementAt(grupoSesion,cont);
cont++;
}
}

public function mostrarEventos(event:MouseEvent):void
{
[color=#EF2929]Alert.show();[/color]
}

]]>
</fx:Script>

<s:VGroup id="sesionGroup" x="270" y="150">
<s:Label id="prueba"/>
</s:VGroup>

</s:Application>

Este es el del componente:

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" width="400" height="20">

<fx:Script>
<![CDATA[

[Bindable]
public var nombreSesion:String;
[Bindable]
public var indexSesion:String;

]]>
</fx:Script>

<s:Button id="sesionButton"
label="{nombreSesion}"/>
<s:Label text="{indexSesion}"/>

</s:Group>

Como pueden ver he agregado a cada componente un evento clic, lo que quiero hacer es que al dar clic en el componente el alert que esta de color rojo me muestre el indice del componente seleccionado, por ejemplo, si se selecciono el componente 2, me muestre 2, si se selecciono el 3 se muestre 3, etc. He encontrado otras formas pero no funcionan como yo lo necesito, me muestran solo el nivel del componente, el problema es que me muestran el mismo resultado para todos los componentes, si alguien pudiera ayudarme se los agradezco mucho.

Por neox10000

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Abr 2010 06:54 pm
Debería ser:

Código ActionScript :

public function mostrarEventos(event:MouseEvent):void
{
    Alert.show("", "Nro: "+evt.target.indexSesion);
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Abr 2010 08:14 pm
Hola solisarg, muchas gracias por tu respuesta, fue muy util para mi, cuidate mucho y gracias.

Por neox10000

1 de clabLevel



 

firefox

 

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