CFINPUT для обновления данных в сетке - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть текстовые поля CFINPUT (type = datefield), которые привязаны к cfgrid.

Когда выбрана строка, отображение ввода из хранилища данных сетки.

То, что я хотел бы сделать, - это не использовать функциональность редактирования сетки, так как с другими элементами управления связано много кода для визуализации полей ввода и других элементов управления для моей страницы.

Хотелось бы, чтобы при внесении изменений в текстовое поле ввода выполнялся cfc для вставки или обновления базы данных.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

Вы можете использовать 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 и т. Д.

0 голосов
/ 04 мая 2011

Я полагаю, вы должны вызывать cfc при замене cfinput. Код должен выглядеть так:

функция редактирования (экв.) { Делай что хочешь }

Имя cfgrid: список оборудования

...