Posted by Freddy P12760 on July 09, 2009
In Reply to dbgrid cell color help posted by danielhp on
May 29, 2009
: I want to create an application where some dbgrid cells in a column have a different background
color. The color can be changed by changing RGB value.
: Can it be done?
: If you can give a sample code,it will be much appreciated.
: Thankyou.
------------------------
Example: color the cells of column number 1 yellow on red, if the value in field "Year" is greater then 1960:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DataCol = 1) and (Table1.FieldByName('Year').AsInteger > 1960) then begin
DBGrid1.Canvas.Font.Color := clYellow; // the text
DBGrid1.Canvas.Brush.Color := clRed; // the background
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
If you only want to change the background color, omit the line with "DBGrid1.Canvas.Font.Color"
Good luck!
Freddy
Related articles
Follow Ups
Post a Followup
DelphiLand Club members: enter your Membership password.
Guests can get a Forum Guest password by subscribing to the DelphiLand Newsletter.