每条记录的空值都是显示为0,所以看起来很乱,不得于查看有数字的记录,如何才能去掉它呢?

解决方案 »

  1.   

    做一个固定字段,在字段的OnGetText事件中处里
      

  2.   


    procedure TForm1.dbg2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if Assigned(Column.Field) and (Column.Field.AsInteger = 0) then
        TDBGrid(Sender).Canvas.FillRect(Rect);
    end;
      

  3.   

    楼主是要都是0的记录不显示,还是字段为0的显示为空的。
    如果是第一种,那么控制数据源即可
    如果是第二种,那么通过displayFormat控制即可。
      

  4.   

    楼上所说,是第二种情况,我设置了:displayFormat:='###,###,##0.00;;是不是我的属性设置有问题?
      

  5.   

    OnGetText  if (Sender.isNull) or (Sender.asFloat = 0.00) then text := '';
    或者
      if (Sender.isNull) or (Sender.asFloat = 0.00) then displaytext := false;
    应该是这样的.呵呵 这是操作数据集的,别在 DBGrid里找