如何在程序中定制某一列的显示方式?(50分)

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

willzjy

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个字段“分数”,我将其指定为“NUMBER”形式,输入“123.45”显示“123.45”,
输入"123.456”显示“123.456“,输入“123.00”显示为“123”,我想使其有一个相同
的显示方式“0.00”,在设计时可以实现,如何在运行时通过程序来实现?
(即,在设计阶段双击query1时不添加任何列,而在运行时,通过程序来实现)
 
不知道你是要在什么控件中显示,如果是在DBGrid中的话,我想可能要处理
OnDrawColumn事件:
var
s:String;

if Column.FieldName='Number' then
s:=format('%*.*',[10,2,TFloatField(Column.Field).Value])
else
s:=Column.Field.AsString;
DBGrid1.Canvas.TextRect(Rect,Rect.Left,Rect.Top,s);
如果是要实现其它显示格式,改Format就行了。
 
在设计时可以实现?不明白你说的是什么意思,还有最后一句话也不明白!
不过要想控制输出字段显示格式的话,可以在Tfield的OnGetText事件里试试,
写代码刷新字段显示文本!
我没有这样做过,你试试吧!
 
要格式化数据的话用formatfloat('0.00',你的数据)
 
多人接受答案了。
 
后退
顶部