User Guide
194 Chapter 2: ColdFusion Tags
Each table row that contains an update, insert, or deletion has a parallel entry in each of these
arrays. To view all the information for all the changes, you can traverse the arrays, as in this
example. To make it work with a
cfgrid on a submitted cfform, set the GridName variable to
the name of the grid and the ColNameList to a list of the grid columns.
<cfloop index="ColName" list="#ColNameList#">
<cfif IsDefined("form.#GridName#.#ColName#")>
<cfoutput><br>form.#GridName#.#ColName#:<br></cfoutput>
<cfset Array_New = form.[#GridName#][#ColName#]>
<cfset Array_Orig = form[#GridName#][’original’][#ColName#]>
<cfset Array_Action = form[#GridName#]RowStatus.Action>
<cfif NOT IsArray(Array_New)>
<b>The form variable is not an array!</b><br>
<cfelse>
<cfset size = ArrayLen(Array_New)>
<cfoutput>
Result Array Size is #size#.<br>
Contents:<br>
</cfoutput>
<cfif size IS 0>
<b>The array is empty.</b><br>
<cfelse>
<table BORDER="yes">
<tr>
<th>Loop Index</TH>
<th>Action</TH>
<th>Old Value</TH>
<th>New Value</TH>
</tr>
<cfloop index="LoopCount" from="1" to=#size#>
<cfset Val_Orig= Array_Orig[#LoopCount#]>
<cfset Val_New = Array_New[#LoopCount#]>
<cfset Val_Action= Array_Action[#LoopCount#]>
<cfoutput>
<tr>
<td>#LoopCount#</td>
<td>#Val_Action#</td>
<td>#Val_Orig#</td>
<td>#Val_New#</td>
</tr>
</cfoutput>
</cfloop>
</table>
</cfif>
</cfif>
<cfelse>
<cfoutput>form.#GridName#.#ColName#: NotSet!</cfoutput><br>
</cfif>
</cfloop>