6

次のように書く良い方法はありますか?

<cfloop list="#qry.Columnlist#" index="FieldName">
   <cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>

このループは、クエリ内のすべてのフィールドを対応するフォーム フィールドに割り当てています。評価関数が敬遠されていることを理解しています。

4

3 に答える 3

11
<cfloop list="#qry.Columnlist#" index="FieldName">
    <cfset form[FieldName] = qry[FieldName][1]>
</cfloop>

?

于 2010-01-06T19:35:26.243 に答える
4

単一のレコードセットを返すと仮定すると、次のように機能します。

<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = qry[FieldName][1]>
</cfloop>
于 2010-01-06T19:25:42.450 に答える
1

接線ですが、クエリの複数の行をループしている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-14T14:52:29.833 に答える