From all examples thus far it seems as though the RemoteObject resultEvent must be cast to an ArrayCollection. Not sure if this can be done in an <mx:ArrayCollection> (comments welcome) rather than in a script block but this works: (for anyone following along my learning path)
-------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" initialize="svcColdFusion.NewVisitor()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
[Bindable]
private var myArray:ArrayCollection
private function if_RO_Fault(event:FaultEvent):void {
mx.controls.Alert.show(event.message as String, "Service Error");
}
private function if_RO_Result(event:ResultEvent):void {
myArray = event.result as ArrayCollection;
}
]]>
</mx:Script>
<mx:RemoteObject id="svcColdFusion"
destination="ColdFusion"
endpoint="http://___your IP num____::8500/flex2gateway/"
source="test.cfcs.helloworld" >
<mx:method name="SingleRow" fault="if_RO_Fault(event)"
result="if_RO_Result(event)"/>
</mx:RemoteObject>
<mx:VBox>
<mx:DataGrid id="DG1" dataProvider="{myArray}" />
<mx:Label id="Lbl1" text="{myArray.getItemAt(0).familyName}" />
</mx:VBox>
</mx:Canvas>
----------------------------------------------------
Now for the tricky part (IMHO). Correct me if I am wrong, but to separate View from Model, best practice is to NOT directly use the specific elements {myArray.getItemAt(0).familyName} as above but rather to convert them to a Value Object then use that VO to populate attributes.?????