通常都是设置你需要设置字段的displayformat:#,##0.00,
但是一个软件系统里面有很多窗口,要是一个一个的设置会很麻烦.
有没有什么办法直接判断当前窗口中的adoquery或者dbgrideh中的字段属性,
如果字段属性是数值型,则统一设置displayformat:=#,##0.00
请教各位高手,谢谢.

解决方案 »

  1.   

    有个例子你可以参考下 
    下面的事件是写在一个基类的DBGridEh的事件里面 
    子类继承的话 都会有这个转换 就不要到处写
    像你这个情况 可以在公共单元里面写一个事件 
    然后每个要引用的窗口 将事件指向这里 就实现了代码共享procedure TMDIBaseForm.dbgMDIGetFooterParams(Sender: TObject; DataCol,
       Row: Integer; Column: TColumnEh; AFont: TFont; var Background: TColor;
       var Alignment: TAlignment; State: TGridDrawState; var Text: string);
    begin
       //显示的格式统一   if Column.Footer.ValueType = fvtSum then
       begin
          try
             if Text = '' then
             begin
                Text := '0.00';
             end
             else
             begin
                Text := FormatCurr('#,##0.00', StrToCurr(Text));
             end;
          except
             Text := '0.00';
          end
       end;   if Column.Footer.ValueType = fvtCount then
       begin
          Text := '记录数: ' + Text;
       end;
    end;
      

  2.   

    to ocen713 :
    大侠,本人水平实在是有限,能否给各小例子?
    分数我再给你加.谢谢.