![]() |
onvalidate
Ya me comentaron que esto obtiene cuando se modifica un dato en un dbgrid, pero como se cuando tengo que capturarlo, por ejemplo, yo tengo un dbgrid donde se me muestra una consulta sql, con un query,, pues kiero saber que celda se modifica, ya que en el dbgrid, no viene ningun cellupdate, o algo parecido, y en que lugar de mi programa tengo que invocar a esa funcion onvalidate. Se que es de tipo field, campo, pero la cuestion es como la uso, gracias.
|
mmm, OnValidate es un evento que esta asociado al TField, para programar en él basta con ir al editor de campos del dataset, seleccionar el campo deseado e ir en el object inspector a la pestaña events, buscar OnValidete, hacer doble click y allí es donde comienzas a trabajar lo que necesites ;).
|
perdona, pero yo tengo un dbgrid, donde muestro un query, asi que lo que tengo es un query, y un datasource relacionado con el dbgrid, asi que no entiendo muy bien donde tengo que empezar a usarlo, me entiendes?, perdona mi torpeza.
|
Query = Dataset
Doble click al query, Selecciona Add All Fields Ubica el campo que quieres y en el inspector de objetos mira sus eventos |
hola de nuevo, no es posible, porque la consulta la creo en tiempo de ejecucion. asi que no que campos tengo hasta que la lanzo.
|
pero si ya conoces los campos puedes incluir en la consulta la clausula AS y los puedes crear manualmente, luego borras la consulta y los campos quedan, lo unico que tienes que hacer es asegurarte que los nombres coincidan
|
Cita:
1. Creas un procedimiento asi, por ejemplo:
2. Despues de traer los datos en el Query que esta en ejecución haces lo siguiente:
De esa manera ya debe disparase dicho evento debido a que esta asignado ;). Espero te sirva ;). |
Esa no me la sabia, todos los dias se aprende algo nuevo gracias jhonny
|
Cita:
|
si pero no sabia como asignarlo en ejecucion siempre habia realizado la asignacion Estatica...
Me refiero no sabia que podia referenciarse de esa manera el objeto TField |
Cita:
|
a la forma de asignar el evento a un TField, yo siempre crei qe solo se consideraban como objetos si tenias la forma MitablaMicampo pero ahora que lo razono por supuesto que es ilogico lo que yo pensaba... que falta de imaginacion tengo
|
Cita:
En cuanto a lo de MiTablaMiCampo... pues como los dataset tienen una propiedad de tipo TFields(Que es un arreglo de campos), pues por allí es que se pueden acceder en ejecución, de manera pues que en determinados casos tambien puedes usar MiTabla.Fields[0].AsLoQueSea. |
La franja horaria es GMT +2. Ahora son las 04:55:50. |
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