比如奇数行和偶数行分别用两种不同的颜色?

解决方案 »

  1.   

    // 在OnDrawColumnCell事件中
    procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
      with DBGridEh1.Canvas do
      if (DBGridEh1.MouseCoord(Rect.Left+1, Rect.Top+1).Y mod 2) = 1 then
        Brush.Color := clBlue  // 奇数行红色
      else
        Brush.Color := clRed;  // 偶数行为蓝色
      DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
    // 在相对应的Query的AfterScroll事件中
    procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
    begin
      DBGridEh1.Invalidate;  // 滚动时刷新grid
    end;
      

  2.   

    哦,谢谢.
    那么在runtime时可不可以改变它的绘制呢?比如,恢复为原来的风格.