我怎样是DBGride中满足特定条件的那一行颜色与众不同!

解决方案 »

  1.   

    参考一下。。就在这个事件中:
    procedure TForm16.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin if datacol=2 then
         begin
           if a1=true then          dbgrid1.Canvas.Brush.Color:=clblue;
          end;     if datacol=3 then
         begin
           if a2=true then          dbgrid1.Canvas.Brush.Color:=clblue;
         end;
             dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
         if datacol=4 then
         begin
           if a3=true then
              dbgrid1.Canvas.Brush.Color:=clblue;
              //   dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
         end;     if datacol=5 then
         begin
           if a4=true then
              dbgrid1.Canvas.Brush.Color:=clblue;     end;
           
    dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);end;
      

  2.   

    procedure Tinfo.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
            if query1.FieldByName(’all’).asstring>40’ then
            begin
                    dbgrid1.Canvas.Font.Color:=clred;
                    dbgrid1.Canvas.Brush.color:=clyellow;
            end
            else
            begin
                    dbgrid1.Canvas.Font.Color:=clblue;
                    dbgrid1.Canvas.Brush.color:=clyellow;
                    end;
     
            dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
    end;