dbedit空件能按规定格式显示数据吗?(100分)

  • 主题发起人 主题发起人 glyp
  • 开始时间 开始时间
G

glyp

Unregistered / Unconfirmed
GUEST, unregistred user!
在编写数据录入模块时采用了DBEDIT控件,我要求在输入为0时,显示为空白,在VFP中可以很方便地实现,请问在DELPHI中如何解决?
 
with TFloatField(DBEdit1.Field) do
if AsFloat = 0 then
Displayformat := ' '
else
DisplayFormat := '0.00';
 
不能自动的实现,需要编写事件处理程序,处理OnEdit或者OnKeyPress事件
检测当前的输入,然后决定显示的内容
 
或者:使用MaskEdit,然后当数据库变化的时候,手工写代码
来更新MaskEdit,MaskEdit的功能很强大的。
 
用字段校验试试:
onvalidate 事件中:

procedure TForm1.Table1FloatField3Validate(Sender: TField);
begin
if table1floatfield3.value=0 then
table1floatfield3.DisplayFormat:=' '
else
table1floatfield3.DisplayFormat:='0.00'
end;
输入的时候即可校验。
在浏览的时候可能要另设语句了;如Table的 Afteropen事件 ,navigate 的
onclick 事件.
 
Sorry!
请试试下面的语句,它会实现你所需要的功能。
procedure TForm1.Table1FloatField8GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if sender.value<>null then {当前字段值是否为空值}
begin
if sender.value=0 then {如果是0,则显示空白}
text:=' '
else
begin
text:=sender.value;{否则等于原数值}
end;

end;

end;

glyp 兄:
是不是该给小弟的分了,哈哈!I Win。
 
多人接受答案了。
 
后退
顶部