![]() |
DBGrid no grabaaaa!!!
Hola a todos,
Estoy usando un DBGrid para editar datos y ocurre lo siguiente: Cuando un usuario modifica un registro y pulsa intro o hace clic en la siguiente columna o registro, entonces el registro se modifica bien. El problema es cuando nada mas modificar el registro el usuario hace clic en la zona inferior del dbgrid (donde no hay registros), entonces automaticamente se cancela la edicion del registro y no guarda nada. ¿Sabes como solucionarlo?? He probado capturar eventos onexit onenter oncellclic para poner a mano un post y no puedo ya que estos eventos no se disparan..... Nota: he probado los componentes: DBGrid, JvDbGrid y JvUltimateDBGrid y a todos les pasa lo mismo. Tambien he probado por la propiedad CancelOnExit=False y no funciona en este caso. ¿Podeis ayudarme? Gracias a todos, david. |
De mi propia experiencia te podria decir que jamas dejo que un usuario modifique o inserte un registro directamente en una grilla. Yo coloco las grillas de forma no editable, es decir que si el usuario desea insertar o editar o borrar un registro realiza doble click o pulsa un boton para dar el alta o baja y abro un nuevo form que contiene los "edits" en el estado correcto (edit o insert) y alli coloca la info. Espero esto te sirva, la grilla puede ser muy practica pero causa esos problemas...suerteee
|
Cita:
|
Dbgrid
Bueno, comparto tambien la idea de no usar las grillas para editar o agregar registros. La verdad el DBgrid es terriblemente engorroso de controlar, yo prefiero usar frames detras de la grilla y mostrarla en cualquier intento de editar o agregar, de esta manera si existe un buscar se conserva en la pantalla, claro siempre y cuando sea MDI.
|
A mi se me ocurre que podrias declarar una variable booleana Editando que la pongas a cierto con la accion OnBeforeEdit de la tabla que quieres modificar, y la vuelves a poner a falso en OnAfterEdit.
A continuacion, con la accione del raton OnMouseUp, comprobar si Editando esta a cierto, en cuyo caso podrias hacer un Post o volver a poner el cursor en la fila que se estaba editando. No se si me he explicado, no se si es una buena soluccion, pero no se me ocurre otra cosa, espero que se sirva. |
Cita:
Ya se que es un caso atipico pero es que te encuentras a todo tipo de usuarios. Yo por mi parte prefiero aceptar los cambios con [intro] o con [tab] pero los hay que quieren que se grabe con solo hacer clic en otro control o zona. |
La franja horaria es GMT +2. Ahora son las 03:13:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi