Hola,
Me he fijado que cuando entramos en edición y pulsamos el botón Update del
DataControl, no se evalúan los eventos OnExit asociados a los controles.
Esto es un problema, ya que utilizo los OnExit a modo de VALID y al no evaluarse,
el usuario puede, por ejemplo, crear una ficha con el código de cliente repetido.
Lo que estoy haciendo ahora es sobrecargar el método OnClickUpdate del navigator,
procesando primero todos los OnExit del formulario y continuando o no con
el resto del Update dependiendo del resultado. Algo así:
-----------------------
METHOD DBNavigator1ClickUpdate( oSender ) CLASS TForm10
Local lRetorno
IF lRetorno := ::DBEdit1Exit( ::oDbEdit1 )
lRetorno := ::DBEdit2Exit( ::oDbEdit2 )
ENDIF
RETURN lRetorno
------------------------------
De todas formas, creo que sería mucho más fácil que se evaluara el Onclick
igual que lo hace al pasar de un control a otro.
Donde no hace falta evaluarlo es en el cancel, ya que en ese caso si podemos
querer salir independientemente de lo que el usuario haya puesto en los campos.
Pero cuando hacemos un update creo que sí es importante que estemos seguros
de que la información introducida es correcta.
Un saludico,
Fredy
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
DbNavigator y el OnClickUpdate
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
DbNavigator y el OnClickUpdate
Fredy,
Es que realmente no se debe disparar OnExit en dicho caso. Comprendo que te
venga muy bien, pero seguro que hay muchos usuarios que no les gustaría.
Tienes el evento OnUpdate en el Tdataset que te puede ser muy util. Por
ejemplo:
Un saludo,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f4fb98c76f13c9b71648@news.xailer.com...]a20b86f4fb98c76f13c9b71648@news.xailer.com...[/email]
> Hola,
>
> Me he fijado que cuando entramos en edición y pulsamos el botón Update del
> DataControl, no se evalúan los eventos OnExit asociados a los controles.
> Esto es un problema, ya que utilizo los OnExit a modo de VALID y al no
> evaluarse, el usuario puede, por ejemplo, crear una ficha con el código de
> cliente repetido.
>
> Lo que estoy haciendo ahora es sobrecargar el método OnClickUpdate del
> navigator, procesando primero todos los OnExit del formulario y
> continuando o no con el resto del Update dependiendo del resultado. Algo
> así:
> -----------------------
> METHOD DBNavigator1ClickUpdate( oSender ) CLASS TForm10
> Local lRetorno
> IF lRetorno := ::DBEdit1Exit( ::oDbEdit1 )
> lRetorno := ::DBEdit2Exit( ::oDbEdit2 )
> ENDIF
> RETURN lRetorno
> ------------------------------
>
> De todas formas, creo que sería mucho más fácil que se evaluara el Onclick
> igual que lo hace al pasar de un control a otro.
> Donde no hace falta evaluarlo es en el cancel, ya que en ese caso si
> podemos querer salir independientemente de lo que el usuario haya puesto
> en los campos. Pero cuando hacemos un update creo que sí es importante que
> estemos seguros de que la información introducida es correcta.
>
> Un saludico,
> Fredy
>
>
Es que realmente no se debe disparar OnExit en dicho caso. Comprendo que te
venga muy bien, pero seguro que hay muchos usuarios que no les gustaría.
Tienes el evento OnUpdate en el Tdataset que te puede ser muy util. Por
ejemplo:
Un saludo,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f4fb98c76f13c9b71648@news.xailer.com...]a20b86f4fb98c76f13c9b71648@news.xailer.com...[/email]
> Hola,
>
> Me he fijado que cuando entramos en edición y pulsamos el botón Update del
> DataControl, no se evalúan los eventos OnExit asociados a los controles.
> Esto es un problema, ya que utilizo los OnExit a modo de VALID y al no
> evaluarse, el usuario puede, por ejemplo, crear una ficha con el código de
> cliente repetido.
>
> Lo que estoy haciendo ahora es sobrecargar el método OnClickUpdate del
> navigator, procesando primero todos los OnExit del formulario y
> continuando o no con el resto del Update dependiendo del resultado. Algo
> así:
> -----------------------
> METHOD DBNavigator1ClickUpdate( oSender ) CLASS TForm10
> Local lRetorno
> IF lRetorno := ::DBEdit1Exit( ::oDbEdit1 )
> lRetorno := ::DBEdit2Exit( ::oDbEdit2 )
> ENDIF
> RETURN lRetorno
> ------------------------------
>
> De todas formas, creo que sería mucho más fácil que se evaluara el Onclick
> igual que lo hace al pasar de un control a otro.
> Donde no hace falta evaluarlo es en el cancel, ya que en ese caso si
> podemos querer salir independientemente de lo que el usuario haya puesto
> en los campos. Pero cuando hacemos un update creo que sí es importante que
> estemos seguros de que la información introducida es correcta.
>
> Un saludico,
> Fredy
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com