读书人

怎么判断在DBGridEh中某格输入数据是否

发布时间: 2013-11-29 00:21:24 作者: rapoo

如何判断在DBGridEh中某格输入数据是否符合约束
当我在单价列里手工输入“5.”没错误,当输入“5.5.”就错误,
现在我怎么写事件来判断都不行,还没跑到这些事件的时候就错误了:
'5.5.' is not a valid floating point value for field 'dj'

procedure TFormJhd.ClientDataSet1djValidate(Sender: TField);
var
f : Double;
begin
if ClientDataSet1.IsEmpty then
Exit;

try
f:=StrToFloat(DBGridEh1.DataSource.DataSet.Fields[5].value);
except on e:Exception do
ShowMessage(e.Message);
end;
end;

procedure TFormJhd.DBGridEh1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
f : Double;
begin
if ClientDataSet1.IsEmpty then
Exit;

if TryStrToFloat(DBGridEh1.DataSource.DataSet.Fields[5].value, f) then
//
else
begin
DBGridEh1.DataSource.DataSet.Fields[5].value:='';
ShowMessage('非法数据');
end;
end;

我现在就是想当鼠标离开单价列的时候给个判断,判断输入的数据是不是float或整数
用的控件是DBGridEh
[解决办法]
VarIsfloat

读书人网 >.NET

热点推荐