cfgrid edit working, delete is not working
When I select a row and try to delete it, I get "Error invoking CFC _admin_cfc_contacts.cfc : OK [Enable debugging by adding 'cfdebug' to your URL parameters to see more information]"
Here is my cfgrid code...
<cfset args = structNew()>
<cfset args.name = "contact_grid">
<cfset args.format = "html">
<cfset args.query = "biz_contacts">
<cfset args.stripeRows = "yes">
<cfset args.bgcolor = "FFFFFF">
<cfset args.colheaderalign = "left">
<cfset args.colheaderbold = "yes">
<cfset args.delete = "yes">
<cfset args.griddataalign = "left">
<cfset args.multirowselect = "yes">
<cfset args.insert = "yes">
<cfset args.selectcolor = "FF6633">
<cfset args.height = "500">
<cfset args.selectmode = "edit">
<cfset args.autowidth = "yes">
<cfset args.onchange = "cfc:_admin_cfc_contacts.edit_grid({cfgridaction},{cfgridrow},{cfgridchanged})">
<div style="padding-top: 20px; padding-left: 20px; padding-right: 20px;">
<cfform name="test">
<cfgrid attributeCollection="#args#">
<cfgridcolumn name="id" display="false">
<cfgridcolumn name="business_name" header="Biz Name">
<cfgridcolumn name="name" header="Contact Name">
<cfgridcolumn name="address" header="Address">
<cfgridcolumn name="link" header="Link">
<cfgridcolumn name="city" header="City">
<cfgridcolumn name="state" header="State">
<cfgridcolumn name="phone" header="Phone">
<cfgridcolumn name="email" header="Email">
<cfgridcolumn name="website" header="Website">
<cfgridcolumn name="contacted" header="Contacted">
</cfgrid>
</cfform>
</div>
And here is my .cfc code...
<cffunction name="edit_grid" access="remote">
<cfargument name="gridaction" type="string" required="yes">
<cfargument name="gridrow" type="struct" required="yes">
<cfargument name="gridchanged" type="struct" required="yes">
<cfset var colname = "">
<cfset var value = "">
<cfswitch expression="#arguments.gridaction#">
<!--- update --->
<cfcase value="U">
<cfset colname = StructKeyList(arguments.gridchanged)>
<cfset value = arguments.gridchanged[colname]>
<cfquery datasource="mydsn">
UPDATE mytable
SET #colname# = '#value#'
WHERE id = <cfqueryparam value="#arguments.gridrow.id#" cfsqltype="cf_sql_integer">
</cfquery>
</cfcase>
<!--- delete --->
<cfcase value="D">
<cfquery datasource="mydsn">
DELETE FROM mytable
WHERE id = <cfqueryparam value="#arguments.gridrow.id#" cfsqltype="cf_sql_integer">
</cfquery>
</cfcase>
</cfswitch>
</cffunction>
