自己做DBGrid控件(200分)

  • 主题发起人 主题发起人 duancy
  • 开始时间 开始时间
D

duancy

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能教我做一个DBGrid,
要求在表格中货币字段的货币符号不显示。
应该不会很难吧!反正我是不懂,请指教。
 
你把字段的显示改改不行吗。
 

在 DrawColumnCell 中写
begin
if Column.Field<>nil then
begin
if Column.Field.Currency then
TDBGrid(Sender).Canvas.TextOut(Rect.Left+2,Rect.Top+2,FloatToStr(Column.Field.AsFloat);
end
else
DefaultDrawColumnCell(Sender,Rect,DataCol,Column,State);
end ;
基本就是这个意思,你可以写的更好一些。

或者把Field的Currency设为False.
 
为什么要自己写一个呢?你设置一下DBGrid对应的DataSet中货币字段的Currency属性为False
或者设置一下DisplayFormat为你自己喜欢的格式就可以啦,
 
我和johnsonguo的意见一致.
 
就是,同意,如果连这个也要重写的话,不是累死,状且本身就提供的
 
我的DATAMODULE中全部是QUERY几乎没有TABLE,
而且我觉得设置字段的属性很麻烦,所以我几乎全部是使用QUERY产生的动态字段。
我还是想试一下改DBGrid控件。
 
呵,你能不能改STRINGGRID?
如果行的话就好,DBGRID我个人认为,只是加了一个数据感知
 
同意johnsonguo的建议。
 
既然是使用QUERY产生的动态字段。
就用JobsLee的方法好了。
 
因为DBGrid只是显示缓存中的数据,修改属性最好是在DataSet中,JohnsonGuo说的简单明了。
 
将字段的displayformat设置为,0.00
将currency设置为false

ok!
 
同意johnsonguo的建议[:D]
 
同意johnsonguo的建议[:D]
 
我还是没有看到想要的回答,真是不舍得我的200分^*&*^*
 
后退
顶部