我知道DBGrid可以

解决方案 »

  1.   

    procedure Tsql_xpgx.dxDBGrid1CustomDraw(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxDBTreeListColumn;
      const AText: String; AFont: TFont; var AColor: TColor; ASelected,
      AFocused: Boolean; var ADone: Boolean);
    begin
       if not Aselected and (anode.Strings[3]='品种小计')
         then
           begin
              AColor := $00EACFAC;
           end
         else if not ASelected and(anode.Strings[1]='单位合计')
         then
           begin
             AColor := $00BECEAE  ;
           end
         else if (not ASelected) and (anode.Strings[7]<>'') and (datetimepicker1.checked) and ((strtodate(anode.Strings[7])<=datetimepicker1.date))
         then
           begin
             afont.color:=clred ;
           end ;                            
    end;
      

  2.   

    同意楼上,用customdraw.每行的显示方式都可以不一样(自已画).
      

  3.   

    没有帮助人家解决实质性的问题啊!人家问的是一行隔一行显示不同的颜色,就是传说中的斑马纹!
    小弟我也关注此问题,DBGrid的没问题,dxDBGrid的搞不定!!
      

  4.   

    dbgrid
    drawcolumncell
    搜搜
      

  5.   

    procedure TStructureForm.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if grid1.datasource.dataset.recordNo mod 2=0 then
         grid1.canvas.brush.color:=clred
      else
         grid1.canvas.bursh.color:=clgreen;
      defaultDrawColumnCell(rect,datacol,column,state);
    end;
      

  6.   

    procedure TForm1.dxDBGrid1CustomDrawCell(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
      AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
      var AText: String; var AColor: TColor; AFont: TFont;
      var AAlignment: TAlignment; var ADone: Boolean);
    begin
      if ANode.AbsoluteIndex mod 2 = 0 then
        AColor := clYellow
      else
        AColor := clLime;
    end;
    给分吧,呵呵...
      

  7.   

    用cxGrid+cxStyleRepository可以轻松实现以上功能!
      

  8.   

    或者这样:
    procedure TForm1.dxDBGrid1CustomDrawCell(Sender: TObject;
      ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
      AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
      var AText: String; var AColor: TColor; AFont: TFont;
      var AAlignment: TAlignment; var ADone: Boolean);
    begin
      if (Sender.Datasource.Dataset.RecNo  mod 2 = 0) then
        Acolor := clgreen
      else
        Acolor := clyellow;
    end;
      

  9.   

    dxGBGrid哪里有这个控件啊?小弟正需要一个!
    我下载了一个dxPack2,但里面没有带DB的!mail:
    [email protected]先谢谢了!
      

  10.   

    用DBNavigator1的一直向上或向下(或滚动鼠标3D键),之前看不到的记录就会变成同一种背景,需要刷新才正常显示,怎么解决?