Saludos!
tengo un dbgrid al que quiero que se le pinte la fila segun un valor de un campo de su datasource.
Por ejemplo:
si el campo "habilitado" del datasource es True se pinta de verde clarito.
Mirando en los post del foro lo pude hacer con el siguiente codigo :
Código Delphi
[-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field.Dataset.FieldbyName('habilitado').AsBoolean then
If (gdFocused in State) then
dbgrid1.canvas.brush.color := clGreen
else
dbgrid1.canvas.brush.color := clMoneyGreen;
dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;
cuando se dibuja la grilla efectivamente muestra la fila en verde clarito para las filas que cumplen con la condicion.
El problema es que cuando selecciono una fila, solo me pinta de verde oscuro la primer columna, no pinta toda la fila.
Como puedo hacer para que pinte toda la fila de verde oscuro cuando selecciono la fila?
Muchas gracias!!