Thx Doug,

but it doesn't work yet.
actually the 'resultGravite' var for instance becomes "0" at the
second loop of the datachange event... ? so 'criticite.text' gets
initialized each time


--- In [email protected], "dougco2000" <[EMAIL PROTECTED]> wrote:
>
> You need to move your code that sets the label:
> 
> criticite.text = ( resultGravite * resultProbabilite ).toString();
> 
> into the doShow() routine since that is where the objects get (re)set
> everytime the grid changes.
> 
> -doug
> 
> --- In [email protected], "quantum_ohm" <charly.antoine@>
> wrote:
> >
> > Hello,
> > 
> > How could I reference a label with a kind of 'selectedIndex' ?
> > It might sound dummy, but I'd like to follow the idea
> > (http://blog.dougco.com/category/coding/flex/) used with the
> > CBs to apply it to a label...
> > The problem is that the result in the label doesn't stay in its right
> > place when I scroll the DG.
> > 
> > Thx
> > 
> > Here is the code below :
> > 
> > <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml";
> > horizontalScrollPolicy="off"  dataChange="gridScrolled()">
> > <mx:Script>
> > <![CDATA[
> >             
> > import mx.controls.DataGrid;
> >             
> > [Bindable] private var graviteArray:Array = [ 
> > { label:"N/A", data:"0"},
> > { label:"Critique", data:"3" },
> > { label:"Majeur", data:"2"},
> > { label:"Mineur", data:"1"} ];
> > [Bindable] private var probabiliteArray:Array = [ 
> > { label:"N/A", data:"0"},
> > { label:"20%", data:"1" },
> > { label:"40%", data:"2"},
> > { label:"60%", data:"3"},
> > { label:"80%", data:"4"} ];
> > [Bindable] private var resultGravite:int;
> > [Bindable] private var dgIndex:int;
> >             
> > private var resultProbabilite:int;
> > private var monChoix:String = "000";
> >             
> > 
> > private function gridScrolled():void{
> > if (data != null) { 
> >     monChoix = data.choix;
> >     }
> >     doShow( monChoix );     
> > }
> >             
> > private function doShow(s:String):void{
> > var v1:int = parseInt(s.substr(0,1)); 
> > var v2:int = parseInt(s.substr(1,1)); 
> > var v3:int = parseInt(s.substr(2,1));//????? 
> > 
> > gravite.selectedIndex = v1;
> > probabilite.selectedIndex = v2;
> >                     
> > if ( gravite.selectedIndex == 0 ) { probabilite.enabled = false;
> > }else{ probabilite.enabled = true; }
> > }
> >             
> > private function resultat():void{
> > var n1:int = gravite.selectedIndex; 
> > var n2:int = probabilite.selectedIndex; 
> > dgIndex = this.parentApplication.dgSpec.selectedIndex;//???do I need
> > this??????
> > var n3:int = dgIndex;//????do I need this??????
> >                     
> > resultGravite = graviteArray[n1].data;
> > resultProbabilite = probabiliteArray[n2].data;
> >                     
> > data.choix = monChoix = n1.toString() + n2.toString() +
> > n3.toString();
> >             
> > criticite.text = ( resultGravite * resultProbabilite ).toString();
> >                     
> > doShow( monChoix );
> > }
> >     ]]>
> > </mx:Script>
> > 
> > <mx:ComboBox id="gravite" width="83" dataProvider="{graviteArray}"
> > change="resultat()"/>
> >     
> > <mx:ComboBox id="probabilite" width="70"
> > dataProvider="{probabiliteArray}" change="resultat()"/>
> >             
> > <mx:Label id="criticite" width="20" fontWeight="bold" text=""/>
> > 
> > </mx:HBox>
> >
>


Reply via email to