我从一个存储过程得到数据并用dbgrid显示,但dbgrid将17.00显示为17,由于我显示的字段数不固定,没有办法从代码中将column的displayfomat进行设置。如何解决!
解决方案 »
- 利用WebBrowser读取网页中表格的数据(已有大部分代码,但读取失败)
- 请问:在delphi做的nt服务里面如何使用第三方控件呢?
- CellSelect属性设为true时,如何马上把焦点切换到当前列上?
- IdUDPServer发送字符串的问题, 急
- 如何将一个程序注册为系统服务?
- 我自己建的QQ群,欢迎加入
- 设置FreeOnTerminate:=true,线程结束时是否可以释放自己?
- 关于dbgrid
- 判断文本框输入的是否是整数或字符,如何判断?
- 怎样用命令来建立一个快捷键
- 一个菜鸟问题,我想要一个自定义函数返回两个参数,应该怎样写呀
- **三层结构让我很伤心,这可能是MIDAS的大臭虫吧**
你看看Delphi的帮助,应该DBGRID地每个Column可以对于DataSet的Field。假设就是DataField属性,是否可以这样:
TFloatField(dbgrid1.columns[i].DataField).DisplayFormat := '0';
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with DBGrid1.Canvas do
if Column.FieldName = 'Field1' then begin
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, Format('%.2f', [Column.Field.AsFloat]));
end;
end;或者在存储过程产生数据时先转换成格式过的字符型