判断dbgrid中录入的是一个正确的数字? |
答題得分者是:leveon
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
请教各位大大,怎样判断在dbgrid的某个栏位中录入的是一个正确的数字?
post: 我在edit中倒是可以做到这一点,即我可以判断某个edit中录入的是不是一个正确的数字,code如下 var begin end 但我想用dbgrid来判断时,就不知怎么做了,请各位大大帮忙,不胜感激 |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
谢谢leveon大大关注!
可能我没说清楚,我现在的情况是,这个提示框出来后,就不能edit了,一想edit,这个框就还是会出来,结果就不能再edit了,晕 能不能这个提示框不要出来?或者换成另一种自已设定的提示,比如提示"该数字不合法,请重新编辑", 然后按了"确定"后就可以还在焦点内重新编辑edit? 小弟用的是delphi7加上mssql2000 不胜感激! |
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
寫一個OnVaild的事件
public procedure Validate(Sender: TField); end; procedure TForm1.Validate(Sender: TField); var i: integer; f: Double; begin if TryStrToInt(Sender.AsString,i) or TryStrToFloat(Sender.AsString, f) then begin ShowMessage('是数字') end else begin ShowMessage('不是数字'); abort; end; end; //找個時間點掛上事件procedure TForm1.FormShow(Sender: TObject); begin DBGrid1.DataSource.DataSet.FieldByName('gzfj').OnValidate := Validate;end; //測試看看 保證可行 ===================引 用 luowy651 文 章=================== 谢谢leveon大大关注! 可能我没说清楚,我现在的情况是,这个提示框出来后,就不能edit了,一想edit,这个框就还是会出来,结果就不能再edit了,晕 能不能这个提示框不要出来?或者换成另一种自已设定的提示,比如提示"该数字不合法,请重新编辑", 然后按了"确定"后就可以还在焦点内重新编辑edit? 小弟用的是delphi7加上mssql2000 不胜感激! |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBXpress, DB, Grids, DBGrids, DBClient, SimpleDS, SqlExpr; type TForm1 = class(TForm) SQLConnection1: TSQLConnection; SimpleDataSet1: TSimpleDataSet; DBGrid1: TDBGrid; DataSource1: TDataSource; procedure Validate(Sender: TField); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Validate(Sender: TField); var i: integer; f: Double; begin if TryStrToInt(Sender.AsString,i) or TryStrToFloat(Sender.AsString, f) then begin ShowMessage('Number') end else begin ShowMessage('Not Number'); abort; end; end; procedure TForm1.FormCreate(Sender: TObject); begin DBGrid1.DataSource.DataSet.FieldByName('BKAMT').OnValidate := Validate; end; end. ===================引 用 luowy651 文 章=================== 谢谢leveon大大,能否把你的整个实例传给我看一下? 小弟邮箱: home777@163.com
編輯記錄
leveon 重新編輯於 2012-07-06 00:05:19, 註解 無‧
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |