我做了个数据库方面的东西 用的是DBGrid 现实字段在界面上现实数据,怎么才能把数据是负数的 数据用不同的颜色分开来!各字段的负数都要改变颜色,比如说红色,应该怎么写??

解决方案 »

  1.   

    http://www.hawkbuilder.com/Code/dbGrid.rar
      

  2.   

    if (column.fieldname='你要的字段') and (dbgrid1.datasoure.dataset.fieldbyname('你要的字段').asstring < 0) then
    dbgrid1.cavas.brush.color=clRed;dbgrid1.defaultdraw...
      

  3.   

    程序运行时调用以下一句:
    dbgrid1.OnDrawColumnCell := DBGridDrawColumnCell_C;要显示的字段颜色,如字段中第一个字母为'A'时显示红色
    procedure TForm1.DBGridDrawColumnCell_C(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
    if copy(TDbgrid(sender).DataSource.DataSet.fieldbyname(column.Title.Caption).AsString,1,1)='A' then
      TDBGrid(sender).Canvas.Font.Color := clRed
    else
      if ((State=[gdSelected,gdFocused])) then
       TDBGrid(sender).Canvas.Font.Color := clWhite
       else
     TDBGrid(sender).Canvas.Font.Color := clBlack;
     TDBGrid(sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;