It looks like you are setting the status on the change in the drop down list but not casting it. Is that your issue? The change handler does not seem attached - what is triggering it? When you debug it - what are the contents of the drop down list data provider?
Sent from my iPhone On Feb 5, 2012, at 8:31 AM, "hermeszfineart" <hermeszfine...@comcast.net> wrote: > I have been trying to migrate certain form fields from <s:TextInput/> to > <s:DropDownList/> where the DB columns have foreign keys to different tables > (i.e. Status, Categories, Dimensions) so the user does not need to type the > values. When I attempt to update the DB record it populates the field with > "[object Status]". This implementation is primarily for the back office > management of the application but some of this type of functionallity will be > used to drive the front end as well in the future. > > I know I must be missing something very simple so any help is appreciated. > > Here is the applicable code: > > <fx:Script> > > <![CDATA[ > > import mx.binding.utils.BindingUtils; > > import mx.collections.IList; > > importmx.collections.errors.ItemPendingError; > > import mx.controls.Alert; > > import mx.events.FlexEvent; > > import mx.rpc.AsyncResponder; > > import mx.rpc.AsyncToken; > > import mx.rpc.Fault; > > import mx.rpc.events.FaultEvent; > > import mx.rpc.events.ResultEvent; > > import spark.events.GridItemEditorEvent; > > import spark.events.GridSelectionEvent; > > import spark.events.IndexChangeEvent; > > import valueObjects.Categories; > > import valueObjects.Dimensions; > > import valueObjects.Editions; > > import valueObjects.Mediums; > > import valueObjects.Status; > > import valueObjects.Styles; > > import valueObjects.Subjects; > > [Bindable] private var _selectedStatus:String = "Available" ; > > private function statusChanged(event:IndexChangeEvent):void{ > > if (event.newIndex == -1) return; > > _selectedStatus = statusList.getItemAt(event.newIndex) as String; > > } > > protected function button_clickHandler(event:MouseEvent):void{ > > originals.inventoryno = inventorynoTextInput.text; > > originals.title = titleTextInput.text; > > originals.price = priceTextInput.text; > > originals.status = _selectedStatus; // Original version -- originals.status = > statusTextInput.text: > > originals.category = categoryTextInput.text; > > // Output omitted > > if (originals.originalid==0){ > > createOriginalResult.token = artServices.createOriginal(originals); > > } > > else{ > > updateOriginalResult.token = artServices.updateOriginal(originals); > > } > > } > > ]]> > > </fx:Script> > > <fx:Declarations> > > <s:AsyncListView id="statusList" list="{getAllArtStatusResult.lastResult}"/> > <!-- DataProvider --> > > </fx:Declarations> > > <!-- output omitted for brevity --> > > <s:FormItem label="Status" styleName="formLabel"> > > <s:TextInput id="statusTextInput" styleName="formContent" > text="{originals.status}"/> <!-- this is one of the fields I am trying to > replace --> > > <s:DropDownList id="dropDownStatusList" > > labelField="status" styleName="formContent" > skinClass="CustomSkins.CustomDropDownListSkin" dataProvider="{statusList}" > prompt="{originals.status}" > > change="{_selectedStatus = dropDownStatusList.selectedItem}" > creationComplete="dropDownList_creationCompleteHandler(event)" > > symbolColor="#FFFFFF" borderColor="#c3c3c3" width="157" color="#000000"> > > </s:DropDownList> > > </s:FormItem> > >