一个窗体中有dbgrid控件,我在另一窗体中查询出了记录,如何才能在dbgrid中以不同的颜色反映出这条记录。谢谢!!!

解决方案 »

  1.   

    我dbgrid在查询前已是隔一行用不同颜色表示。而我另一窗体是一模式窗口。
      

  2.   

    ondrawcoulmncell事件中画上颜色试试!
    自己还真是没有什么好的方法
      

  3.   

    这样行,但我查询窗口不关闭,dbgrid的颜色是不会变的。应如和解决。
      

  4.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if  DataCol mod 2=0 then
        dbgrid1.Canvas.Brush.Color:=clred
      else
        dbgrid1.Canvas.Brush.Color:=clblue;  dbgrid1.Canvas.FillRect(rect);  dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
    end;
      

  5.   

    只要你的dataset.open了,无论在哪里都会触发DrawColumnCell的
      

  6.   

    你没有dbgrid1.DataSource.DataSet.DisableControls吧?