![]() |
Detectar cambio en componentes
Hola gente!!!
Quisiera preguntarles como detectar cambios en los componentes por ejemplo en un Edit me van a decir que use el evento OnChange pero por ejemplo en un DBLookupComboBox que no tiene un OnChange como se???. Esto lo quiero hacer porque tengo un formulario donde están todos los componentes a guardar y si cierra el formulario y cambio un campo quiero preguntar que ha hecho cambios y si desea guardarlos y si no toco ningún campo que no pregunte nada Saludos |
Hola capo979, lo que yo haría sería guardar en variables todos los valores con los que estaría entrando al formulario y una vez que se quiera grabar pregunto esos valores con lo nuevos valores que hay en los componentes. O si quieres usar el OnChange, entonces talvez en vez de usar un DBLookupComboBox, utilizas un ComboBox normal y lo llenas a mano.
Saluditos |
Tengo que usar un componente de base de datos no puedo usar un combobox. Necesito saber si hay alguna forma más facil de preguntarle al componente si cambio
saludos |
Cita:
Saludos |
Se me ocurre que puedes usar el evento OnDataChange del datasource, si es que lo tienes conectado a un datasource. Este evento se ejecuta cada vez que cambian los datos de un field. En tu caso, me crearia una rutina basica en donde pregunte si el campo se modificó o no y activar una variable booleana en en base a eso mandar un mensaje o no... son ideas..
el evento OnDataChange te pasa como parametro el campo (field) que se está modificando. Quiza te sirva... |
Es mucho mas sencillo que todo eso. Si has alterado algun componente de la base de datos, sea cual sea, el estado del TTable es dsEdit, y si no se ha tocado nada el TTable.Status esta en dsBrowse. Antes de cerrar consultas el estado, si esta en dsBrowse no hay cambios, y si esta en otro estado diferente actuas en consecuencia, pues el estado tambien podria estar en estado dsInsert si se ha metido una linea nueva en un DBGrid.
|
La franja horaria es GMT +2. Ahora son las 04:36:15. |
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