怎么让dbgrid中的某行显示不同的颜色?

解决方案 »

  1.   

    在ondrawcell中根据你的要求,自己画
    例如canvas。font。color := clBlue;
    defaultDraw。
      

  2.   

    我有一个dbrcgrid的东东,有一个rowcolor属性可以办到,
    如果急,可以发给你!
      

  3.   

    SetBkColor(dbgrid1.canvas.handle,clgreen)
      

  4.   

    procedure Tjtyh.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      with (Sender as TDBGrid) do
      begin
        if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
        begin
          Canvas.Font.Color := clHighlightText;
          Canvas.Brush.Color := clHighlight;
        end
          else
            begin
              if data.jtyhb.RecNo  mod 2 <> 0 then
                Canvas.brush.Color := $00DDFC8B
                else
                  Canvas.brush.Color :=clwhite;
            end;
        DefaultDrawColumnCell(Rect, DataCol, Column, State); //这行是关键
      end;
    end;