dbGrid->dataSource->Query
通过Query语句从数据表中查出的数据,能否使用一个越界判断语句,使得超出界限的数字以红色显示?

解决方案 »

  1.   

    if query1.FieldByName('car_no').Asstring > 'a' then begin
            DBGrid1.Canvas.Font.Color := clRed;//字体色
            DBGrid1.Canvas.Brush.Color := clBlue;//背景色
            DBGrid1.Canvas.FillRect(Rect);
      

  2.   

    在这个里面写
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
      

  3.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if Column.Title.Caption='SIZE' then
      if Column.Field.Value > 5 then
          begin
            DBGrid1.Canvas.Font.Color := clRed;//字体色
            DBGrid1.Canvas.TextRect(Rect, Rect.Left, Rect.Top
                + 2,Column.Field.AsString);
          end;
    end;
      

  4.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if NeedRed then
        DBGrid1.Canvas.Font.Color:=clRed;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol,Column, State);end;