More about creating a remote object and passing an argument to a cfc from Flex 3 can be found at my blog post, HERE
Given you have a CFC that returns a query, you can create a resulthandler function that can then be binded to a datagrid.
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
[Bindable]
private var myReturnedData:ArrayCollection;
private function result(evt:ResultEvent):void {
myReturnData = evt.result as ArrayCollection;
}
<mx:RemoteObject id="mycfc"
destination="ColdFusion"
showBusyCursor="true"
source="cfctest.thecfc"
result="result(event)"
fault="fault(event)">
</mx:RemoteObject>
<mx:DataGrid id="mygrid" width="487" height="100%" dataProvider="{myReturnData}" />
<mx:Button label="Get All Names" id="btngrid" click="mycfc.returnallnames()"/>