![]() |
DBGrid me borra una celda
Hola a todos.
Estoy realizando una aplicación en la que tengo dos tablas Paradox 7. Una contiene los datos de los clientes y la otra las reparaciones hechas por cada cliente (el programa controla un taller). Creé entonces una relación maestro/detalle entre ambas tablas. Todo esto funciona perfectamente. Mi problema es que la tabla de reparaciones guardo la fecha en la que comenzó la reparación. Por esta razón, y para "automatizar" el proceso, cada vez que me sitúo en la columna de fecha de inicio, introduzco la fecha del sistema automáticamente. Aquí os pongo el código para que lo veáis mejor: Código:
procedure TFormularioReparaciones.ReparacionesListadoKeyDown( ¿A qué puede deberse esto? Muchas gracias y saludos. PD: probé a eliminar el código que añade la fecha y funciona correctamente. Además, sino pulso tabulación para cambiar de celda, también funciona correctamente. |
Yo interceptaria la entrada en la columna por una parte, y por otra que estuvieramos añadiendo un nuevo registro, ya que si estuvieramos en edición, es decir modificando un dato ya existente no procedería que nos modificará la fecha.
Código:
procedure TForm1.DBGrid1ColEnter(Sender: TObject); Un Saludo. |
Muchas gracias. He probado el código que me comentaste y funcionó a la perfección.
No obstante, me gustaría saber si la propiedad state cambia su valor automáticamente. Gracias nuevamente y saludos. |
Pues sí, puesto que se trata de una propiedad que es de solo lectura, por lo tanto nosotros no podemos cambiar directamente dicha propiedad.
MiTabla.Append; Provocaría que la propiedad se pusiera en dsInsert MiTabla.Edit; Lo pondría en dsEdit. Por lo que en conclusión dicha propiedad nos dice en que estado se halla el DataSet y no nos permite cambiar directamente el mismo. Un Saludo. |
Ok. Me has quitado una duda de encima. :)
Muchas gracias y saludos |
La franja horaria es GMT +2. Ahora son las 01:37:56. |
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