请问怎样当dbgrid网格中的数字小于0时就使它红色显示呢》?

解决方案 »

  1.   

    onGetCellParams在dbgrideh里面使用设置颜色
    如果是在grid里面就在ondrawcell设置当前cell的color
      

  2.   

    哦,不是,我使用了ehlib控件,里面dbgrideh
    procedure Tfm_main.DBGridEh1GetCellParams(Sender: TObject;
      Column: TColumnEh; AFont: TFont; var Background: TColor;
      State: TGridDrawState);
    begin
      if ADOQuery1.FieldByName('szje').AsFloat >0 then
        AFont.Color := clyellow
    end;
    delphi自带的dbgrid不爽很不爽,建议使用ehlib或者ExpressQuantumGrid 4 Suite
      

  3.   

    在DBGrid的OnDrawColumCell中添加如下代码:if dataset.fieldbyname('fieldname').asinteger < 0 then
      DBGrid.canvas.font.color := clred;
    DBGrid.defaltdrawcolumcell(rect,datacol,colum,state);//将颜色设置回来