Ir al contenido


Foto

DBGrid captar modificación de un determinado campo

sqlite dbgrid boolean

Mejor respuesta Agustin Ortu , 14 octubre 2016 - 12:35

Revisa en los eventos del dataset o del datasource. Podés usar un OnPost, o un OnChange. O también los eventos del objeto TField

Para que el usuario no pueda cambiar un campo simplemente le pones al field readonly a true Ir al mensaje completo


  • Por favor identifícate para responder
5 respuestas en este tema

#1 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 14 octubre 2016 - 12:32

Hola, necesito captar cuando un campo de un DBGrid es modificado y llamar a un procedimiento.

 

La tabla que muestro en la grid tiene 10 columnas, me gustaría saber si es posible hacer que solo 1 columna pueda ser modificada por el usuario.

Concretamente es un tabla de facturas impagas que tiene un campo boolean y mi intención es que cuando le den click a la casilla y se ponga la tilde, llamar a un precedimiento para emitir la orden de pago y luego actualizar un campo de la misma tabla que sería tabla.pagado=tabla.importetotal.

 

Utilizo ZeosConnection, ZQuery y desde luego un DataSource.

 

Si se les ocurre algo, desde ya, gracias.

 

Saludos.


  • 0

#2 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 14 octubre 2016 - 12:35   Mejor respuesta

Revisa en los eventos del dataset o del datasource. Podés usar un OnPost, o un OnChange. O también los eventos del objeto TField

Para que el usuario no pueda cambiar un campo simplemente le pones al field readonly a true
  • 0

#3 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 14 octubre 2016 - 12:45

Gracias Agustín, con el read only solucioné rápido ese tema y funciona perfecto.

 

El DataSource tiene solo 3 eventos: OnDataChange, OnStateChange y OnUpdateData. Intuyo que debería llamar al procedimiento desde OnDateChange y OnUpdateDate o debería hacerlo desde los 3?


  • 0

#4 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 14 octubre 2016 - 12:53

Lo más recomendado es leer la documentación:

http://docwiki.embar...ce.OnUpdateData

En ese mismo link en la parte de abajo (see also) están los otros dos eventos
  • 0

#5 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 14 octubre 2016 - 01:20

Lo bueno es que la documentación me sirvió para mejorar otro tema de un dbgrid que se actualiza en base a otro dbgrid, pero para el caso que planteo acá lamentablemente no funcionó con ninguno de los 3 eventos del datasource, en el mejor de los caso me llama dos veces al mismo procedimiento, aclaro que los probé por separado.

Pero ya que estoy orientado, buscaré por los eventos del ZQuery, que son unos cuantos. 

 

Saludos.


  • 1

#6 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 14 octubre 2016 - 06:29

Por si a alguien le sirve, quería comentar que finalmente pude implementarlo con el evento OnEditingDone de la DBGrid.


  • 0





Etiquetado también con una o más de estas palabras: sqlite, dbgrid, boolean

IP.Board spam blocked by CleanTalk.