我想在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,对此的任何帮助将是伟大的,并高度赞赏。
答案 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>