关于dbgrid 中的记录变颜色,说明:现有两个表单,其中的一个form1上有一个dbgrid,(form1中的dbgrid 已经按条件变了颜色的,)现在呢,俺想在别一个子from2上,(在form2中的操作来满足 form1中的dbgrid 中的条件,使让form1中的dbgrid 的当前记录变颜色) .

解决方案 »

  1.   

    这个很简单:
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if gdSelected in State then
      begin
        DBGrid1.Canvas.Brush.Color := clRed;
        DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      end;
    end;
      

  2.   

    不是哦, 俺是想在form2上,处理form1 中的 dbgrid1 哦, 你这样,对本form 的 dbgrid 俺知道的,
      

  3.   

    FORM1的TForm1.DBGrid1DrawColumnCell要保留。你剩下的工作其实就是在FORM2上去刷新FORM1的DBGRID1了。这个与你去改变DBGrid1的颜色已经没有关系了。俺是这样认为的,不知道俺说得对不对?