Flex coldfusion和多个远程对象

时间:2009-08-21 02:52:09

标签: flex datagrid coldfusion

我想在flex页面上加载多个表,似乎无法弄清楚如何使用多个远程对象。

以下是我的coldfusion

<cfcomponent output="false">    
<cffunction name="getVacancies" access="remote" returntype="query">     
    <cfset var = qRead ="" />   
    <cfquery datasource="sqlexpress" name="qRead">      
        SELECT Status, SFIELD6
        FROM dbo.VacantSumm
    </cfquery>
    <cfreturn qRead />  
</cffunction>
<cffunction name="getVacancyTotals" access="remote" returntype="query">
    <cfset  var = vRead =""/>
    <cfquery datasource="sqlexpress" name="vRead">
        select Total, Status
        from dbo.VacancyTotal
    </cfquery>
    <cfreturn vRead />
</cffunction>

现在我的AS:

import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
            [Bindable]
            private var acVacancies:ArrayCollection;
            private var VacancyTotals:ArrayCollection;


            private function initApp():void
            { 
                VacancyGateway_RO.getVacancies();
                VacancyGateway_RO.getVacancyTotals();

            }
            private function getVacanciesRO_Handler(event:ResultEvent):void
            {
                acVacancies = ArrayCollection(event.result);
            }
            private function getVacancyTotalsRO_Handler(event:ResultEvent):void
            {
                VacancyTotals = ArrayCollection(event.result);
            }

我知道,我知道我的位置。这两个arraycollections,对此的任何帮助将是伟大的,并高度赞赏。

1 个答案:

答案 0 :(得分:0)

您的远程对象定义似乎未包含在上面的AS代码段中。你在代码的另一部分创建它们吗?如果是这样,请添加该部分,以便我们可以看到您是如何创建对象的。你没有提到你得到的错误,如果有的话;这也有助于了解。

此外,我发现您发现您不需要为CFC中的每个方法创建单独的RemoteObject实例。只要为每个函数添加method元素,单个实例将适用于所有这些实例。例如:

 <mx:RemoteObject
    id="VacancyGateway_RO"
    destination="ColdFusion"
    source="wherever.your.CFC.is.located">

    <mx:method name="getVacancies" result="getVacanciesRO_Handler(event)"
         fault="mx.controls.Alert.show(event.fault.faultString)"/>
    <mx:method name="getVacancyTotals" result="getVacancyTotalsRO_Handler()"
         fault="mx.controls.Alert.show(event.fault.faultString)"/>
</mx:RemoteObject>

我只提到这一点,因为我最近参与了一个项目,其中前面的开发人员为他们调用的每个方法创建了一个RemoteObject ......并且在某些CFC中有很多方法。 / p>