0

値をダブルクリックして cfgrid の 1 つ (または複数) の列の値を編集する必要があり、Enter キーを押すと、cfgrid はデータベースを新しい値で更新する必要があります。

flex datagrid でこの機能を見てきました。同様の機能が期待されます。

どんな助けでも大歓迎です。

4

1 に答える 1

0

私はCFの初心者なので、最終的にその方法を見つけました。属性selectMode = editを追加する必要があり、さらにonchange属性を追加する必要があります。例:onchange = "cfc:getCalculatorData.editCategory({cfgridaction}、{cfgridrow}、{cfgridchanged})">

さらに、cfceditLocationに更新クエリを記述します

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 に答える