Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2010, 11:41
neox10000
 
Fecha de Ingreso: junio-2006
Mensajes: 1
Antigüedad: 17 años, 10 meses
Puntos: 0
Exclamación Cargar contenedores de forma dinamica.

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:

<?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
{
Alert.show();
}

]]>
</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.