也就是奇数行是兰色,偶数行是黄色。代码如下:
if classlist.DataSource.DataSet.RecNo mod 2=0 then
  begin
  classlist.Canvas.Brush.Color := clLime;
  classlist.Canvas.font.Color := clBlue;
  end
else
  begin
  classlist.Canvas.Brush.Color :=claqua;
  classlist.Canvas.font.Color :=clred;
  end;
可是预期效果没有出现。

解决方案 »

  1.   

    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);begin
      if classlist.DataSource.DataSet.RecNo mod 2=0 then
        DBGrid1.Canvas.Font.Color := clRed;
      DBGrid1.DefaultDrawDataCell(Rect, Field, State);
    end;
      

  2.   

    classlist.Canvas.Brush.Color := clLime;
      classlist.Canvas.TextRect(Rect, Rect.left, Rect.top, Column.field.AsString);
      

  3.   

    按照的soaringsouth(栈桥捉鳖) 作法,提示如下错误:
    Undeclared identifier: 'TField'原文代码也是在OnDrawColumnCell事件里写的
      

  4.   

    to dudunono(靖):
    谢谢您的指教,已经好用,可是新的问题又出现了,如何体现当前行呢?
    马上结帐!
      

  5.   

    if not dbgrid1.selectedrows.currentrowselected then
      dbgrid1.canvas.brush.color:=clgreen;