更改DBGrid行的颜色

时间:2015-05-22 09:45:33

标签: delphi delphi-7 tdbgrid

如何更改最新的rec颜色dbgrid?

if (Sender as TDBGrid).DataSource.DataSet.RecNo = (Sender as TDBGrid)
  .DataSource.DataSet.RecordCount then
begin
  Canvas.Brush.Color := $00C66F71;
end;
(Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);

1 个答案:

答案 0 :(得分:4)

使用OnDrawColumnCell

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;

要更改文字的颜色,请使用:

DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

在您的代码中

Canvas.Brush.Color:=$00C66F71;

Canvas的{​​{1}},而不是TForm的{​​{1}}