2011-06-08 51 views
1

我有一個可以返回多個查詢的cffunction。我使用'struct'作爲我的returntype。我的問題是,如何在多個cfselect中使用函數返回。我可以讓cfdump工作,但不知道要投入什麼CFC將多個查詢返回給cfselect

cfc 
<cffunction name="cfcName" access="remote" returntype="struct"> 
    <cfset var myStruct=StructNew()> 

    <!---Query1----> 
    <cfquery name="Query1" datasource="dsn"> 
    SELECT DISTINCT Col1 
    FROM Table1 
    ORDER BY Col1 
    </cfquery> 

    <!---Query2----> 
    <cfquery name="Query2" datasource="dsn"> 
    SELECT DISTINCT Col2 
    FROM table2 
    ORDER BY Col2 
    </cfquery> 

    <cfset myStruct.Query1= Query1> 
    <cfset myStruct.Query2= Query2> 

    <cfreturn myStruct> 
</cffunction> 

<cfinvoke 
    component="CMPT" 
    method="cfcName" 
    returnvariable="Return_cfcName"> 
</cfinvoke> 


cfm, 
(Query 1 returns should diplay in this cfselect) 
<cfselect name="Select1" required="no" query="?" value="?" display="?" queryPosition="below"> 
     <option value="">ALL</option> 
</cfselect> 

(Query 2 returns should diplay in this cfselect) 
<cfselect name="Select2" required="no" query="?" value="?" display="?" queryPosition="below"> 
     <option value="">ALL</option> 
</cfselect> 

任何幫助表示讚賞,在此先感謝。

回答

1

這應該做的伎倆......

<cfselect name="Select1" required="no" query="Return_cfcName.Query1" value="Col1" display="Col1" queryPosition="below"> 
     <option value="">ALL</option> 
</cfselect> 


<cfselect name="Select2" required="no" query="Return_cfcName.Query2" value="Col2" display="Col2" queryPosition="below"> 
     <option value="">ALL</option> 
</cfselect> 
+0

你是一個明星,那工作。我有<..... query ='Return_cfcName.Query1'value ='Return_cfcName.Col1'display ='Return_cfcName.Col1'>。像你剛纔提到的那樣改變它,現在它就像一個魅力。再次感謝 – MadushM 2011-06-08 20:44:03