Cita:
Empezado por Chris
[...] sino me estoy equivocando, creo que lo que sugieres no funcionaría en este caso [...]
|
Cita:
Empezado por roman
¡Ah caray! Pero esto significaría que ningún campo calculado podría mostrarse en un DBGrid, pero lo cierto es que sí se puede.
|
Hola Chris, muchas gracias por la aclaración, tienes razón en lo que dices.
Aunque ciertamente depende de cómo sea implementado cada derivado de TDataSet, lo cierto es que la mayoría (TClientDataSet, ADO, IBX, etc.) hacen el cálculo del buffer de registro mucho antes de informar a los enlaces de datos visuales de cualquier movimiento.
Román, esto es similar a aquel asunto del
OnValidate que tuvimos el gusto de compartir.
En conclusión, un evento OnCalcFields puede asumir que el valor de cualquiera de los campos es del mismo registro cuyos campos calculados se van a actualizar, pero no necesariamente serán los mismos valores mostrados en los controles de datos.
Siendo así, creo que yo también usaría un evento OnGetText o aún un campo calculado (dependiendo de si el campo original va a estar visible o no al mismo tiempo como texto rico), pero eso sí, con un TRichEdit en lugar de TDBRichEdit, al estilo de las sugerencias anteriores. Y claro, con un poco más de tiempo, optar por llamadas directas a la API de Windows no sería mala idea tampoco.
Un abrazo corregido.
Al González.