我想格式化特定的单元格来强制小数点的两位。数据来自ElevateDB存储过程,并连接到TDataSource中。
编辑: SQL编程说明:
我不确定这是否只是一个ElevateDB问题。在了解字段编辑器之前,我尝试在存储过程中使用CAST (NumericField as varchar(10))语句在SQL级别格式化数据。通过这样做,它没有公开这个特定字段的字段编辑器中的DisplayFormat属性。
当我从存储过程中删除CAST()语句时,DisplayFormat属性出现在字段编辑器中。
发布于 2012-04-22 20:35:10
可以通过格式化基础字段来格式化DBGrid列。如果没有完成,请在dataset中创建静态字段,然后将该字段的DisplayFormat属性设置为0.00,您就完成了。
发布于 2012-04-22 20:55:37
我使用的方法与Uwe回答的方法相同,在打开dataset后的代码中,只需添加这一行代码来格式化认证列:
TFloatField(MyDs.FieldByName('Cost')).DisplayFormat := '0.00';发布于 2012-04-23 10:37:32
可以使用DrawDataCell事件格式化字段。
procedure TFormMain.DBGridCompareDrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if Field.Name = 'FIELDNAME' then
TFloatField(Field).DisplayFormat := '#,##0.00';
end;https://stackoverflow.com/questions/10271822
复制相似问题