如何判断在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