ADOQuery.SQL.Add('select 列名1/列名2 as 新列名 from 表名 ');
列名1/列名2,所得的数值为浮点型,现在要把得数变成0.00,即小数点后保留两位
在DBGrid中如何设置?

解决方案 »

  1.   

    1.将adoqurey添加永久字段,把字段的displayformat设置为######0.00
    2.将adoqurey添加永久字段,在字段的ongettext事件中设置displaytext
      

  2.   

    除了一楼说的方法,还可以用重绘事件做!
    在Dbgrid的OnDrawCell事件中写代码:
    If Field is TFloatField then
    begin
      //
       Dbgrid1.canvas.textrect(...,这里可以格式化你的输出);
    end;
      

  3.   

    如果你是使用DBGRIDEH 的话,
    你可以在columns[i]中设置displayformat就可以了。
      

  4.   

    楼主还有一种办法就是在打开数据集时去做,
    如下面的例子:
    Query.close;
    Query.open;
    for ColCount=0 to dbgrid1.Columns.Count-1 do
    begin
       if dbgrid1.columns[Colcount].field is TFloatfield then
          (dbgrid1.columns[Colcount].field as TFloatfield).displayformat:=######0.00
    end;