使用ADOConnection、 ADOQuery、DBGrid的结构 数据源是ACCESS数据库,怎么让DBGrid显示浮点型数的时候可设置显示的小数位数(2

  • 主题发起人 主题发起人 wyb_506
  • 开始时间 开始时间
W

wyb_506

Unregistered / Unconfirmed
GUEST, unregistred user!
使用ADOConnection、 ADOQuery、DBGrid的结构 数据源是ACCESS数据库,怎么让DBGrid显示浮点型数的时候可设置显示的小数位数(20分)<br />现在DBGrid显示的小数位数非常多,而且也不实用,谢谢!
 
设置字段的displayformat为0.00

TNumericField(Query1.FieldByName('字段名')).displayformat:='0.00';
 
在access中可设小数位数。。很好用的。。
 
ACCESS设置位数不管用,我刚试过,另外
TNumericField(Query1.FieldByName('字段名')).displayformat:='0.00';的办法也不好
因为我显示的字段是会变化的,不固定,动态调整很麻烦!
 
用StringGrid 多好 直接 FloatTostrF()
 
不行啊兄弟,我还要连接数据库呢!
 
在ACCESS可以设小数位的,只要你将类型选数字,字段大小选数字.数值范围选你要的位数,比如是2,小数位数又选2.就行,我就是这样用的.
 
关注,收藏[:)]
 
你可以在access中设置,也可以在dbgrid中设置,在dbgrid中用format
 
谢谢各位,我已经找到解决的办法了:
在DBGrid的DrawDataCell事件中
if field.FieldName &lt;&gt;'CustName' then//除了‘CustName’以外都是浮点型的数据
begin
DBGrid1.Canvas.FillRect(Rect);//很重要哦!不然显示的内容乱七八糟;
DBGrid1.Canvas.textout(
rect.left,rect.top,formatfloat('0.000',field.asfloat));//主要部分
end;
另外在ADOQuery(数据源)的更改中加一句:DBGrid1.Invalidate ;//迫使数据改变后DBGrid
重绘;
 
后退
顶部