views:

306

answers:

3

I have the following:

 <mx:RemoteObject id="myCFC" destination="ColdFusion" source="components.myCFC"  showBusyCursor="true">
    <mx:method name="getStuff" result="UserHandler(event);"/>
</mx:RemoteObject>

...
<mx:ComboBox id="propertyCode" dataProvider="{qry_stuff}" labelField="name" />

Index.as has:

   [Bindable] public var qry_stuff:ArrayCollection = new ArrayCollection;

 private function UserHandler(event:ResultEvent):void {
   qry_stuff= event.result as ArrayCollection;
 }

public function init():void {
  /* call my remote Object to get my data */
   myCFC.getStuff();
  }

my problem is the combobox displays [object Object]

I know there is nothing wrong with the cfc and there is a field called "name" in getStuff. Why does it not display the value of the object? thanks in advance.

A: 

There is a property on the ComboBox class called labelField. Go ahead and set that to the name field on the data that is returned. If that doesn't work - you need to debug your returned values from CF - to be sure that the name property is actually being populated on the client side as well.

In addition, you data is probably being returned as an array (not an ArrayCollection) - in which case, you would need to set:

qryStuff = ArrayCollection( event.result as Array );

Note: You probably also want to 'strong-type' your response data by creating an ActionScript value object - so that it is not just a generic 'object' that is being returned from CF. You then can use the [RemoteClass(alias="com.sample.MyCFC")] metadata tag to map that value object to your server-side VO.

David Tucker
A: 

In my cfc, I had to explicitly set data/label.

FALCONSEYE
A: 

I'm having the same problem, how do you "explicitly set data/label" in your cfc?

BuffaloGLO