从数据库返回的数据在dbgrid上显示,能否让为零的值不显示,只显示为空?

解决方案 »

  1.   

    使用自画事件:procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      inherited;
      If (DataCol<>0) and (Not Column.Field.IsNull) then
      begin
        If Column.Field.AsString = '0' then  //或其它判断条件
           DBGrid2.Canvas.FillRect(Rect);
      end;
    end;
      

  2.   

    在sql语句中写  用 REPLACE函数将0替换成''
      

  3.   

    (dbgrid1.DataSource.DataSet.fieldbyname('字段名') as Tfloatfield). displayformat:='#.#';