Comunidad de diseño web y desarrollo en internet online

Ayuda con el repeater de flex

Citar            
MensajeEscrito el 26 Mar 2010 02:10 am
Hola quisiera solicitar su ayuda ya que tengo algo que me esta dando vueltas la cabez bueno empiezo por la explicacion bueno en un desarrollo que tengo utilizo dos repeaters anidados y dentro de ellos creo un boton y quisiera saber como puedo accesar a cada boton por que algunos necesito que tengan la propiedad de visible false y otros de true pero estos datos solo lo se hasta el tiempo de ejecutar la aplicacion bueno por su atencion y tiempo gracias

<mx:Repeater id="r2" dataProvider="{arrList6}" >
<mx:VBox borderColor="#595C5E">
<mx:Repeater id="r3" dataProvider="{arrList5}" >
<mx:Button id="b2" width="100%" height="100%" label="{carta+r2.currentItem+r3.currentItem}" />

</mx:Repeater>
</mx:VBox>

Por Coryman

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Mar 2010 02:11 am
Una disculpa falto una linea

<mx:Repeater id="r2" dataProvider="{arrList6}" >
<mx:VBox width="100%" height="100%" borderColor="#595C5E">
<mx:Repeater id="r3" dataProvider="{arrList5}" >
<mx:Button id="b2" width="100%" height="100%" label="{carta+r2.currentItem+r3.currentItem}"/>

</mx:Repeater>
</mx:VBox>

</mx:Repeater>

Por Coryman

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Mar 2010 07:26 pm
el id del boton en tu ejemplo es b2 y como esta dentro del segundo repeater entonces accesas así

Código ActionScript :

b2[0][0].visible=false

mucho más solido

Código ActionScript :

Button(b2[0][0]).visible=false;


Te adjunto el programita con el que hice las pruebas

Si quieres que todo el VBox sea visible o invisible

Código Flex :

<mx:VBox id=v width="100%" height="100%" borderColor="#595C5E">

y en as

Código ActionScript :

VBox(v[0]).visible=false;


Aca te dejo el codigo del programa con el que estuve jugando

Código ActionScript :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()" xmlns:comp="components.*">
   <mx:Script>
      <![CDATA[
import mx.collections.ArrayCollection;
      [Bindable]private var arrList5:ArrayCollection=new ArrayCollection([{label:1},{label:2},{label:3},{label:4}]);
      [Bindable]private var arrList6:ArrayCollection = new ArrayCollection([ { label:1 }, { label:2 }, { label:3 }, { label:4 } ]);
      
      
      private function onItemClick(event:MouseEvent):void {
         trace(event.target)
      }
      [Bindable]private var apagado:Boolean = false;
      private function makeVisible():void {
         //VBox(v[myStepperR2.value]).visible = apagado;
         Button(b2[myStepperR2.value][myStepperR3.value]).visible=apagado
         if (apagado == false) {
            apagado = true;
         }else {
            apagado = false;
         }
      }
      ]]>
   </mx:Script>
   <!-- <comp:TubingMain/> -->
   <mx:Repeater id="r2" dataProvider="{arrList6}" >
      <mx:VBox id="v" width="100%" height="100%" borderColor="#595C5E">
         <mx:Repeater id="r3" dataProvider="{arrList5}" >
            <mx:Button id="b2" width="100%" height="100%" label="carta{r2.currentItem.label+''+r3.currentItem.label}" click="onItemClick(event)" />
         </mx:Repeater>
      </mx:VBox>
   </mx:Repeater>
   <mx:VBox>
      <mx:HBox>
         <mx:HBox>
            <mx:Label text="R2"/>
            <mx:NumericStepper id="myStepperR2"/>
         </mx:HBox>
         <mx:HBox>
            <mx:Label text="R3"/>
            <mx:NumericStepper id="myStepperR3"/>
         </mx:HBox>
         <mx:Button label="Visible/Invisible" click="makeVisible()" />
      </mx:HBox>
      <mx:Label text="{apagado}"/>
      <mx:Label text="{arrList5.getItemAt(myStepperR3.value).visible}"/>
   </mx:VBox>
</mx:Application>

Por rubencho176

Claber

301 de clabLevel

3 tutoriales

 

Colombia

firefox
Citar            
MensajeEscrito el 26 Mar 2010 07:34 pm
En la explicación de arriba hay un errorsito, aunque el codigo esta bien

No es:

Código Flex :

<mx:VBox id=v width="100%" height="100%" borderColor="#595C5E"> 

sino:

Código Flex :

<mx:VBox id="v" width="100%" height="100%" borderColor="#595C5E"> 


@BOFH ¿por que carajos quitaron el boton de editar la respuesta???

Por rubencho176

Claber

301 de clabLevel

3 tutoriales

 

Colombia

firefox

 

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