在DBGrid中怎么让指针指向的一条记录背景色变成指定的颜色呢?

解决方案 »

  1.   

    procedure TFormca.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var fFontColor,fBrushColor : Tcolor;
    begin
      if dbgrid1.Fields[6].AsString='' then exit;
      if dbgrid1.Fields[6].AsDateTime<now then
        begin
          fbrushcolor:=clmaroon;
          ffontcolor:=clwhite;
        end else
      if dbgrid1.Fields[6].AsDateTime<=now+10 then
        begin
         fbrushcolor:=clTeal;
         ffontcolor:=clwhite;
        end
        else
        begin
        ffontcolor:=clblack;
        fbrushcolor:=clwhite;
        end;
        DBGrid1.Canvas.Font.Color:=ffontcolor;
        dbgrid1.Canvas.Brush.Color:=fbrushcolor;
        DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
      

  2.   

    procedure TfrmFir.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if State = [gdSelected, gdFocused] then
      begin
        DBGrid1.Canvas.Brush.Color := clLime;
        DBGrid1.Canvas.Font.Color := clBlack;
      end;  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;