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> > > >

