由于查询的语句不确定,因此想给TadoQuery动态添加字段,然后设置字段的属性,例如浮点型的数据必须显示两位小数.
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('select aname as 姓名,acharge as 费用');
adoquery.open;
dbgrid显示的时候,如果费用是0.8,会显示.8,我想显示0.80,所以想动态添加固定字段,然后设置字段的displayformat,请各位delphi高手帮帮忙

解决方案 »

  1.   

    DBGrid好象不支持DisplayFormat属性的,估计楼主说的是DBGridEh吧。可以这样来动态创建DBGridEh中的列:procedure TForm1.Button1Click(Sender: TObject);
    var
      ACol : TColumnEh;
    begin
      ACol := DBGrid1.Columns.Add;
      ACol.FieldName := '费用';
      ACol.DisplayFormat := '#0.00';
    end;
      

  2.   

    如果小数的话,可以用 四舍五入的方式,保留小数点后的位数即可:
    SELECT ROUND( (123.2569), 2) AS DiscountPrice
      

  3.   

    设置数据源ADOQuery1里的'费用'属性的DisplayFormat就行了
      

  4.   

    我知道设置TAdoquery的属性 displayformat,但是,我的语句是动态的,没有事先增加固定字段,我的意思是怎么动态增加固定字段
      

  5.   

    查询完毕后,逐个判断字段的格式然后再修改,或者直接在SQL语句里进行格式化