![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cancelar DBGrid
Hola, tengo un problemilla que no consigo saber solucionar veran,
tengo una DBGrid con varios botones Aceptar, Cancelar, Aplicar, Editar. Si entro en modo edición y modifico la linea en la que me situó y antes de aplicar cancelo, me elimina cualquier modificación echa, asta aquí todo OK, en cambio si antes de aplicar o cancelar hago clic en otra linea me guarda las modificaciones echas lo cual no me interesa ya que puede prestar a confusiones y falsos datos. Para ello se me ocurrió conocer en que linea estoy cuando inicio la edición, y en el evento oncellclick compararla con el actual
... pues bien aun así solo consigo cancelar el proceso clickeando en el botón cancelar. El código que detecta la diferencia de linea en la cual estoy funciona pero no me cancela la edición y no se que mas puedo hacer. les agradecería algún comentario o aclaración, muchas gracias de adelantado. |
#2
|
||||
|
||||
Hola barakuda.
Una opción sería utilizar la propiedad Tag del TButton con que aceptas, como flag para evaluarlo en el evento BeforePost del TDataSet: Si se me una mejor opción te comento. Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
![]() Gracias por tu rapida respuesta mira de paso me dao cuenta que si mientras estoy editando una celda juego con la ruleta del raton el foco me baja o sube sobre la columna donde estoy editando permitiendome tambien editar esa otra celda, para correguir eso lo que hago es insertar la esencia del codigo en el evente ONMouseWheel
y ahora con solo usarla ya sea para subir o bajar automáticamente me cancela cualquier modificación que yo aya echo, eso es lo que me interesaria que hiciese al cambiar de fila pero no hay manera ... |
#4
|
||||
|
||||
Hola.
¿ Y no te serviría desactivar el evento MouseWheel ?
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Cita:
|
#6
|
||||
|
||||
Hola.
Creo que no expresé bién la idea del código. En el evento BeforePost se verifica el valor de la propiedad Tag del TButton y solamente guarda el registro si esta tiene el valor 1. La propiedad Tag del TButton sólo puede tomar el valor 1 si se ejecuta el evento OnClick (btnGuardarClick) del TButton. En este procedimiento (btnGuardarClick) se pone btnGuardar.Tag a 1, se guarda el registro y se vuelve a poner en cero. Dado que antes de guardar si o si se ejecuta el evento BeforePost y en este se impide almacenar si el valor de la propiedad Tag del boton es igual a cero, no se puede realizar esa acción por otro medio que no sea btnGuardarClick. En resumidas cuentas, sólo se puede guardar mediante el btnGuardar. Lo que sí noté ahora es que, habiendo empezado a editar un nuevo registro(línea) y hacer click sobre una celda anterior, copia el último en la cancelada, esto se soluciona agregando una línea:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 30-03-2012 a las 15:00:13. |
#7
|
|||
|
|||
ecfisa te doy mil gracias en primer lugar por tu tiempo dedicado y en segundo lugar por que con esta solución e conocido el evento BeforePost y depaso a sacar utilidad a los Tag.
un saludo y gracias!! |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cancelar el salto hacia otra celda de un DBGrid | micky mouse | Varios | 3 | 28-05-2008 21:58:49 |
Cancelar Post | Acker | Conexión con bases de datos | 4 | 22-05-2006 13:18:20 |
cancelar una consulta | jmlifi | SQL | 1 | 08-11-2005 19:14:11 |
Cancelar insercion | el_barto | Conexión con bases de datos | 2 | 26-07-2005 00:26:26 |
Cancelar modificacion en DBGrid | Er_Manué | Conexión con bases de datos | 4 | 29-07-2003 19:02:52 |
![]() |
|