向各位请教:怎样才能使dbgrid显示的内容,各条记录的颜色相间,即第一条记录是蓝色,第二条记录是绿色,第三条记录是蓝色,第四条记录是绿色如此类推下去。
或者有什么控件或方法可以实现?

解决方案 »

  1.   

    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;
      

  2.   

    gxgyj(杰克.逊_Discovery) 方法。
    其实就是斑马线的生成,到Google上搜吧,要是不想自己做,用EhLib组件也可。
      

  3.   

    to gxgyj 用了你那方法好像不能对dbgrid的cell直接编辑了
      

  4.   

    to netrobo
      用ehlib组件怎样设置啊?
      

  5.   

    defaultDrawColumnCell
    属于哪个pas文件里的
      

  6.   

    补充,对某字段设置字体颜色
    if column.FieldName='某字段' then
    begin
        (sender as TDBGrid).Canvas.Font.Color:=clred;
        (sender as TDBGrid).Canvas.Brush.Color:=clblue;
    end;
    defaultDrawColumnCell(rect,datacol,column,state);
      

  7.   

    http://www.delphibbs.com/keylife/iblog_show.asp?xid=4091