Articles

Use OnDrawColumnCell event of DBGrid component with the following code. This example will paint each cell to green color, if these cells are odd.

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  HoldColor: TColor;
begin
  HoldColor:=DBGrid1.Canvas.Brush.Color; 
  if Column.FieldName='EmpNo' then 
    if (Column.Field.AsInteger mod 2 <> 0) then 
    begin
      DBGrid1.Canvas.Brush.Color:=clGreen;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      DBGrid1.Canvas.Brush.Color:=HoldColor;
    end;
end;