大家好,这个如何做!关于小数点的!

winsock2000 2002-10-26 03:14:52
当用户在dbgrid的计算字段输入两个小数点时,切换到下一个单元格就出错!这个必须怎么做呢?

也就是说怎么限制在dbgrid的某个单元格只输入一个小数点!

我在keypress限制为什么不行?
if dbgrid1.Columns[3].FieldName='字段' then
if key in ['.'] then
if Pos('.',dbgrid1.Columns[3].fieldname)>0 then
Begin
Key:=#0
End;
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzl 2002-10-26
  • 打赏
  • 举报
回复
你可以在需要检查的字段的OnSetText事件里这样写

procedure TForm1.Table1FreightSetText(Sender: TField; const Text: String);
begin
try
Table1.FieldByName('被检查的字段').AsFloat:=StrToFloat(Text);
except
showMessage('错误对话框');
abort;
end;
end;
winsock2000 2002-10-26
  • 打赏
  • 举报
回复
up~
winsock2000 2002-10-26
  • 打赏
  • 举报
回复
问题是我是在dbgrid输入的呀,这关dbedit什么事情呀!
CloneCenter 2002-10-26
  • 打赏
  • 举报
回复
if Pos('.',dbgrid1.Columns[3].fieldname)>0 then
不是 FieldName 吧,应该是你输入的内容。
guorui_wh 2002-10-26
  • 打赏
  • 举报
回复
if dbgrid1.Columns[3].FieldName='字段' then
if key in ['.'] then
if Pos('.',dbedit1.text(你的输入筐))>0 then
Begin
Key:=#0
End;


2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧