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>