I thought array does not broadcast updates "nicely" (uniformly/as expected), can you change the declaration of listOfFees from: [Bindable]private var listOfFees:Array; to:[Bindable]private var listOfFees:ArrayCollection;
--- In flexcoders@yahoogroups.com, "Laurence" <lmacne...@...> wrote: > > I thought I had this figured out... But apparently I don't... > > Can someone please tell me why this won't work as a custom ItemRenderer? I > scroll up and down, and the selected value in the ComboBox does NOT change, > but the values in the drop-down DO change. I'm at a loss as to why... > > BEGIN CODE: > <?xml version="1.0" encoding="utf-8"?> > <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml" height="100%" > width="100%" > dataProvider="{listOfFees}" > labelFunction="formatLabel" change="changeHandler(event)" > openDuration="0" closeDuration="0"> > <mx:Script> > <![CDATA[ > import mx.formatters.CurrencyFormatter; > import mx.controls.DataGrid; > import flash.events.Event; > > [Bindable]private var listOfFees:Array; > > public override function set data(value:Object):void{ > super.data = value; > if (value == null) { > listOfFees = null; > } else { > if (data.comp != "y") { > listOfFees = data.course_fees.concat(); > } else { > listOfFees = new Array([0]); > } > > if (data.editable == "y") { > this.enabled = true; > } else { > this.enabled = false; > } > > this.selectedItem = data.fee_chosen; > } > } > > private function formatLabel(item:Object):String { > return currencyFormat.format(item); > } > > public function changeHandler(event:Event):void { > data.fee_chosen = this.selectedItem; > } > > ]]> > </mx:Script> > > <mx:CurrencyFormatter id="currencyFormat" precision="2"/> > > </mx:ComboBox> >