FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Para lo que quieres hacer, te aconsejaría no usar un TDBEdit sino un control TEdit normal (o mejor un TMaskEdit), ya que los TDBEdit, como están enlazados directamente a campos de la base de datos, siempre modificará el valor existente sin darte tiempo a comprobar el valor introducido antes de la modificación. Después, para actualizar el control TEdit, has de servirte de los eventos del DataSource relacionado, más concretamente del evento OnDataChange. Ej:
Los DataSources posee dos eventos más: OnStateChange (captura los cambios de estado del DataSet) y OnUpdateData (se ejecuta cuando se van a modificar los campos de la base de datos), revisa la ayuda sobre esta clase para más información. Por último, tienes la opción de crearte tu propio control TDBEdit que realice lo que quieres! Saludos! Última edición por jmariano fecha: 08-04-2006 a las 20:21:41. |
#2
|
||||
|
||||
Escribo de nuevo porque se me había olvidado dos pequeños detalles en el ejemplo anterior:
1º No se ha de buscar registros si el DataSet está en modo de edición o inserción. 2º No se ha de buscar registros si, lógicamente, el contenido del control no ha cambiado (tal y como está ahora, lo busca siempre). Así que mejorando el ejemplo anterior, quedaría así: (La propiedad Modified indica que el control ha sido modificado) Saludos! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problemas con locate | halizia | Conexión con bases de datos | 3 | 10-04-2006 08:29:14 |
Problemas con Locate | Acker | Tablas planas | 12 | 05-08-2005 15:47:46 |
Problemas con locate | Ivanzinho | Firebird e Interbase | 0 | 03-05-2005 17:45:57 |
problemas con locate | maui | Conexión con bases de datos | 19 | 19-06-2004 07:53:57 |
Problemas Con Locate | gzerox | Firebird e Interbase | 4 | 20-05-2004 10:06:14 |
|