0

我需要通过双击值来编辑cfgrid中一个(或多个)列的值,然后按回车键,cfgrid应该用新值更新数据库。

我在 flex datagrid 中看到了这种功能。预计会有类似的能力。

任何帮助表示赞赏。

4

1 回答 1

0

我是 CF 的新手,所以我终于知道了你是如何做到的:你需要添加属性 selectMode=edit 并且你需要添加 onchange 属性。例如:onchange = "cfc:getCalculatorData.editCategory({cfgridaction},{cfgridrow},{cfgridchanged})">

此外,您在 cfc editLocation 中编写更新查询

cfc 函数的示例是:

    <cfif isStruct(gridrow) and isStruct(gridchanged)>
        <cfif gridaction eq "U">
            <cfset colname=structkeylist(gridchanged)>
            <cfset value=structfind(gridchanged,#colname#)>
            <cfquery name="team" datasource="batcalc"> 
                UPDATE tbl_category SET <cfoutput>#colname#</cfoutput> = 
                    '<cfoutput>#value#</cfoutput>'
                WHERE category_id = <cfoutput>#gridrow.category_id#</cfoutput>
            </cfquery>
        <cfelse>
            <cfquery name="delCat" datasource="batcalc"> 
                DELETE FROM tbl_category 
                WHERE category_id = <cfoutput>#gridrow.category_id#
                    </cfoutput>
            </cfquery> 
        </cfif>
    </cfif>
</cffunction>
于 2011-04-15T13:36:39.887 回答