有没有更好的方式来写下面?

<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>

其他提示

假设你返回单个记录下面的工作。

<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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top