Use OnDrawColumnCell property of TDbGrid
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Sender as TDBGrid).DataSource.DataSet.RecNo = (Sender as TDBGrid).DataSource.DataSet.RecordCount then
begin
//change color of row
DBGrid1.Canvas.Brush.Color:=$00C66F71;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
To change color of text use :
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
In your code
Canvas.Brush.Color:=$00C66F71;
is Canvas of the TForm, not Canvas of the TDbgrid