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=#FF borderColor=#c3c3c3 width=157 color=#00
/s:DropDownList
/s:FormItem