Página 1 de 1
OnExit
Publicado: Mar Nov 07, 2006 5:58 pm
por miguel
Hola:
En el evento OnExit de cualquier control me interesa controlar si el
contenido del control ha cambiado. Quizas hoy estoy un poco atacado ya
que me suena haber leído algo al respecto, pero ya siento no recordarlo.
¿Me podéis ayudar?. Gracias.
Saludos. Miguel A. Torrellas
OnExit
Publicado: Mar Nov 07, 2006 7:28 pm
por Xevi
Miguel,
Yo lo que hago es tener un botón "Modificar" inhabilitado y en el evento
OnChange del todos los Edits del Form (el mismo OnChangeEdits para todos) lo
habilito, así se que si cambian en contenido de algún Edit actualizan el
registro de la base de datos cuando se habilita el botón "Modificar"
Un Saludo,
Xevi.
"Miguel A. Torrellas" <
miguel@torrellas.net> ha escrit al missatge del grup
de discussió: [email=
4550bb47@news.xailer.com...]
4550bb47@news.xailer.com...[/email]
> Hola:
>
> En el evento OnExit de cualquier control me interesa controlar si el
> contenido del control ha cambiado. Quizas hoy estoy un poco atacado ya que
> me suena haber leído algo al respecto, pero ya siento no recordarlo.
>
> ¿Me podéis ayudar?. Gracias.
>
> Saludos. Miguel A. Torrellas
OnExit
Publicado: Mar Nov 07, 2006 11:04 pm
por jrcpoli-quitar
Saludos:
La pregunta la hice yo pero no era para controlar con OnExit sino para
que en un formulario o de edición o modificaciones si cambiabas un campo
y le dabas al botón de cancelar te dijera que habías cambiado algo antes
de cerrar y pudieras volver al formulario sin cerrarlo y dar a grabar.
Era así:
METHOD BTCancelClick( oSender ) CLASS TFormIndiviEdit
LOCAL lCorrecto := Nil
WITH OBJECT ::oParent:oDbfIndividual
IF :lOnEdit
*
lCorrecto := .T.
*
IF :Modified // Esta es la instrucción que detecta que ha
habido modificaciones.
IF MsgNoYes("Has modificado algún campo sin guardarlo" +
CHR(13) +;
"Si deseas guardarlo pulsa NO y luego Recalcular" +
CHR(13) + ;
"Si no deseas guardarlo pulsa SI" + CHR(13) + CHR(13) +;
"¿No deseas guardar los cambios y
cerrar.?",AppData:gCaption)
*
lCorrecto := .F.
*
ENDIF
ENDIF
*
IF lCorrecto
:Cancel()
ENDIF
*
ELSE
*
lCorrecto := Nil
*
ENDIF
END
*
RETURN lCorrecto
José Ramón Castro.
Miguel A. Torrellas escribió:
> Hola:
>
> En el evento OnExit de cualquier control me interesa controlar si el
> contenido del control ha cambiado. Quizas hoy estoy un poco atacado ya
> que me suena haber leído algo al respecto, pero ya siento no recordarlo.
>
> ¿Me podéis ayudar?. Gracias.
>
> Saludos. Miguel A. Torrellas