请问一下:如何实现在DbGrid 中的斑马线(急)
非常感谢!!

解决方案 »

  1.   

    procedure TFrmKhsf.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
     inherited;
      with DBGrid1 do
      begin
       if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then
        begin
         Canvas.Font.Color :=ClYellow;
         Canvas.Brush.Color :=ClNavy;
        end
        else
        begin
          if  dmmain.ADOQKhsf.FieldByName('khbh').AsString='cw0001' then //条件
            Canvas.brush.Color :=ClYellow;       
        end;
        DefaultDrawColumnCell(Rect, DataCol, Column, State);// 这行很关键的,一定不要遗漏了
      end;end;
      

  2.   


    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    begin
      if (dbgrid1.DataSource.DataSet.RecNo mod 2)=1 then begin
        DBGrid.Canvas.Brush.Color := clBlue;//蓝色背景颜色
        DBGrid.Canvas.Font.Color := clYellow;//黄色字体颜色
      end
      else
        DBGrid1.DefaultDrawDataCell(Rect, Field, state);
    end;