0

cfgrid にバインドされた CFINPUT テキスト ボックス (type= datefield) があります。

行が選択されると、グリッドのデータストアから入力が表示されます。

私がやりたいことは、グリッドの編集機能を使用しないことです。これは、ページの入力ボックスやその他のコントロールをレンダリングするために他のコントロールに関連する多くのコーディングがあるためです。

入力テキスト ボックスに変更が加えられたときに、データベースに挿入または更新するために cfc が実行されることを希望します。

助言がありますか?

4

2 に答える 2

0

cfinput の onchange で cfc を呼び出す必要があります。コードは次のようになります。

function edit(eqp) { 好きなことをしてください }

cfgrid の名前はequipmentListです

于 2011-05-04T07:25:32.623 に答える
0

cfbind を使用してこれを行うことができます。次のようなことを試してください。

<cfinput name="inputName" type="text">
<cfinput name="rowID" type="hidden" value="#rowID#">

<cfdiv bind="url:anotherPage.cfm?IName={inputName@keyup}&RId={rowID}" bindOnLoad="false">

----In anotherPage.cfm----
  <cfinvoke
    component="CFC_name"
    method="Method_Name">    
      <cfinvokeargument name="I_Name" value="#trim(IName)#"/>
      <cfinvokeargument name="R_ID" value="#trim(RId)#"/>
 </cfinvoke> 

----In CFC---->
<cffunction name="CFC_name" access="remote">
  <cfargument name="I_Name" type="string" required="yes">
  <cfargument name="R_ID" type="string" required="yes">

  <cfquery name="Q1" datasource="ds">
    UPDATE Tbl1
    SET Col1=<cfqueryparam value="#arguments.I_Name#" cfsqltype="cf_sql_varchar">
    WHERE ID = #arguments.R_ID#
  </cfquery>
</cffunction> 

@keyup、@keydown、@change、@click などを使用してバインドできます。

于 2011-06-09T18:54:54.747 に答える