有没有更好的方法来编写以下内容?评估功能
<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