¿Y has probado lo que te digo? En OnDrawColumnCell tu código pinta de amarillo el fondo cuando UpdateStatus <> usUnmodified. Cuando aplicas o cancelas los cambios, es de suponerse que UpdateStatus sea igual usUnmodified (si no es así tendrás que revisar que valor toma para considerarlo en el condicional) y por tanto no se usará el color amarillo. Pero esto puede no reflejarse de inmediato pues OnDrawColumnCell ocurrirá sólo cuando el DBGrid necesita pintarse. Por ello, al momento de aplicar o cancelar los cambios conviene que hagas un DBGrid.Repaint para forzar el repintado.
// Saludos
|