有沒有更好的方法來編寫以下內容?評估功能
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>
此循環將查詢中的每個字段分配給相應的表單字段。 我明白評估功能是避免的。
有沒有更好的方法來編寫以下內容?評估功能
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>
此循環將查詢中的每個字段分配給相應的表單字段。 我明白評估功能是避免的。
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset form[FieldName] = qry[FieldName][1]>
</cfloop>
?
切線,但如果您循環查詢的多行,則可以在查詢對象中使用currentRow
變量來執行與接受的答案相同的操作。
<cfset var someStruct = {} />
<cfset var colummnList = queryObj.columnList />
<cfloop query="queryObj">
<cfset someStruct[currentRow] = {} />
<cfloop list="#columnList#" index="fieldName">
<cfset someStruct[currentRow][fieldName] = queryObj[fieldName][currentRow] />
</cfloop>
</cfloop>
非常有趣。我混淆了混合結構符號和數組符號,但我會研究這一點。謝謝! – 2010-01-14 15:39:13
對不起,{}是StructNew()的縮寫,[]是ArrayNew(1)的縮寫, – Bialecki 2010-01-14 18:28:58
很好的答案!我今天也在尋找解決方案。 – 2010-01-07 17:20:43
'評價(「qry。#myArr [i] .foo#」)'我試過'qry [myArr [i] [foo]]'但是沒有運氣 – isurfbecause 2012-10-26 00:32:09
@isurfbecause不知道你在那兒問什麼,但是對於數組對象,它是'[fieldName] [rowIndex]'。 'foo'是否是rowIndex?如果是這樣,首先將'myArr [1]'設置爲某個變量,然後使用它。 CF可能不喜歡嵌套'[]' – Henry 2012-10-26 01:13:28