首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何格式化DBGrid列以显示两个十进制位置?

问如何格式化DBGrid列以显示两个十进制位置?
EN

Stack Overflow用户
提问于 2012-04-22 20:26:01
回答 3查看 33.7K关注 0票数 8

我想格式化特定的单元格来强制小数点的两位。数据来自ElevateDB存储过程,并连接到TDataSource中。

编辑: SQL编程说明:

我不确定这是否只是一个ElevateDB问题。在了解字段编辑器之前,我尝试在存储过程中使用CAST (NumericField as varchar(10))语句在SQL级别格式化数据。通过这样做,它没有公开这个特定字段的字段编辑器中的DisplayFormat属性。

当我从存储过程中删除CAST()语句时,DisplayFormat属性出现在字段编辑器中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-22 20:35:10

可以通过格式化基础字段来格式化DBGrid列。如果没有完成,请在dataset中创建静态字段,然后将该字段的DisplayFormat属性设置为0.00,您就完成了。

票数 9
EN

Stack Overflow用户

发布于 2012-04-22 20:55:37

我使用的方法与Uwe回答的方法相同,在打开dataset后的代码中,只需添加这一行代码来格式化认证列:

代码语言:javascript
复制
  TFloatField(MyDs.FieldByName('Cost')).DisplayFormat := '0.00';
票数 9
EN

Stack Overflow用户

发布于 2012-04-23 10:37:32

可以使用DrawDataCell事件格式化字段。

代码语言:javascript
复制
procedure TFormMain.DBGridCompareDrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
  if Field.Name = 'FIELDNAME' then
    TFloatField(Field).DisplayFormat := '#,##0.00';
end;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10271822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档