我的代码如下:
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);  //这里总是报错:Incompatible types
end;

解决方案 »

  1.   

    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
             Canvas.Brush.Color := $008080FF;
      end;
      DefaultDrawColumnCell(Rect,DataCol,Column,State); //这里总是报错:Incompatible ypes
    end;
      

  2.   

    在OnGetCellParams事件写试一下。