我有以下内容:
<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有:
[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();
}
我的问题是组合框显示[对象对象]
我知道cfc没有任何问题,getStuff中有一个名为“name”的字段。为什么它不显示对象的值? 提前致谢。
答案 0 :(得分:1)
ComboBox类上有一个名为labelField的属性。继续并将其设置为返回的数据上的名称字段。如果这不起作用 - 您需要从CF调试返回的值 - 以确保名称属性实际上也在客户端填充。
此外,您的数据可能是作为数组返回的(不是ArrayCollection) - 在这种情况下,您需要设置:
qryStuff = ArrayCollection( event.result as Array );
注意:您可能还希望通过创建ActionScript值对象来“强类型化”您的响应数据 - 这样它不仅仅是从CF返回的通用“对象”。然后,您可以使用[RemoteClass(alias =“com.sample.MyCFC”)]元数据标记将该值对象映射到服务器端VO。
答案 1 :(得分:0)
在我的cfc中,我必须明确设置数据/标签。