问一个关于DBgrid显示数字的问题!(50分)

  • 主题发起人 主题发起人 说说
  • 开始时间 开始时间

说说

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是paradox数据库,数据类型是N,请问我想让dbgrid显示数字时
空位用0代替,应该怎摸做?
比如:100 --> 000100
 
应该是不能这样显示吧。
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field.FieldName='F01' then
begin
with (Sender as TDBGrid).Canvas do
begin
FillRect(Rect);
Font.Color:=CLRED;
TextOut(Rect.Left+3,Rect.Top+3, Copy('000000'+Trim(Column.Field.AsString), Length('000000'+Trim(Column.Field.AsString))-5, 6));
end;
end;
end;
 
另外建一paradox数据库,相应栏位-->string,
 
直接转化为字符串,然后根据情况循环在前面加0
比喻:123-》000123
123-》‘123’
如果需要6位数,则循环3次,每次在前面加一个‘0’字符
 
如果需要的位数固定,则:
table1area.displayformat:='00000000';
不就可以了
 
哈哈,烂泥快了一步
 
displayformat属性可作好为一切。

10
0000.00 --> 0010.00
#.00 --> 10.00

10.5555
#.## --> 10.56

大体这个样。
 
天那,太快了!
 
各位好!

显示是否能与计算数值保持严格一致呢?
 
Table1.displayformat:='000000';
为什麽老报错!没有displayformat这个属性?
 
不是 Table1.displayformat:='000000';
是table1的某个字段的displayformat:='000000';
双击table1.在Fields editor中Right Button-->add all fields
电点击某个字段,看它的属性,有displayformat。。
 
多人接受答案了。
 
后退
顶部