query1.SQL.Clear; 
  query1.SQL.Add('select * from room'); 
  query1.ExecSQL; 
  query1.Active:=true; 
我想让  select * from room  where rs=‘空闲’  时DBGrid里面相应的行变成红色 
怎么实现

解决方案 »

  1.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if ADOQuery1.FieldByName('rs').AsString='空闲' then
      begin
          DBGrid1.Canvas.Font.Color:=clRed;
          DBGrid1.Canvas.Brush.Color:=clGreen;
          DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      end;
    end;
      

  2.   

    我添加了。。怎么没什么反应。  需要加什么空间吗。。 你好像写的是ado 的。我改成ado了也不行