PDA

Ver la Versión Completa : Pintar una celda según el renglon en DBGrid


jorosmtz
09-08-2011, 04:53:24
Buen día, Aquí molestando de nuevo, ¿como le hago para saber el nombre del renglon donde me encuentro posicionado en un DBGrid?

Ej. tengo 4 campos desplegado en el DBGrid: "Fecha", "Hora", "Clave del producto" y "Nombre del producto". Ahora lo que quiero es comparar cuando el valor del campo Clave del producto, para poder pintar esa celda exclusivamente, de otro color. Ya se como pintar toda la columna, lo que no me sale es como saber el nombre del campo para solo pintar esa celda:


DBGridAgenda.Canvas.Brush.Color := clYellow;
DBGridAgenda.DefaultDrawColumnCell(Rect,DataCol,Column,State);


Desde ya muchas gracias...

jorosmtz
09-08-2011, 05:07:22
Ya vi como :D... Gracias por leer el post.



if (Column.FieldName = 'CLAVEPRODUCTO') and (NombreDelProducto = '') then
begin
DBGridAgenda.Canvas.Brush.Color := clYellow;
DBGridAgenda.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;


Por cierto, esto es en el evento OnDrawColumnCell del DBGrid.

Nota para los curiosos, sin el Column.Field el evento pinta toda la columna del DBGrid donde el el campo NOMBREPRODUCTO (en mi DB) esté en blanco, pero con la condición Column.FieldName me va a pintar solo las celdas del renglon CLAVEPRODUCTO donde el NOMBREPRODUCTO esté vacio.