5,913
社区成员




procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if (column.FieldName = 'DEL') and (column.Field.Value = 'Y') then
begin
DBGridEh1.Canvas.Brush.Color := clYellow;
end;
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
DBGridEh1.Canvas.Brush.Color:=clSilver;
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
if ADOQuery1.FieldByName('status').AsString='True' then //如果条件成立
begin
DBGridEh1.Canvas.Brush.Color:=clSilver; //行底色变色
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
另一种:
if ADOQuery1.FieldByName('status').AsString='True' then //如果条件成立
begin
DBGridEh1.Canvas.Font.Color:=clMaroon; //行字体变颜色
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
根据字段值内容的不同在dbgridEH中来分颜色显示
procedure TfrmBdDetail.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if adoquery1.fieldbyname('合计数量').AsInteger> adoquery1.fieldbyname('KC').AsInteger then
begin
(Sender as TDBGridEH).Canvas.Brush.Color := $008080FF;
end;
DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;