作者:达通兴电脑科技公司(www.study01job.com) 郭宝利
对用户录入的数据进行校验,这是数据窗口控件本身就具备的功能。但是,我们希望做更多的处理,并且错误信息显示界面更友好一些。为此,我们编写一个全局函数,在数据窗口的ItemChanged事件中调用,并且使用MessageBox显示该函数返回的错误信息。另外,还需要在数据窗口的ItemError事件中return 1来阻止数据窗口本身的错误提示窗口的显示。
当然,对下面的函数进行扩充,可以加入对更多类型数据的校验,以及基于业务要求的数据校验。
///*--------------------------------------------------------------------------------
// * 函数名称:f_datawindow_itemerror(as_name,as_type,as_text,as_data)
// * 函数作用:检测名称为as_name、类型为as_type的字段输入数据是否合法。该字段的
// *标签对应为as_text、输入的数据为as_data。
// *-------------------------------------------------------------------------------*/
string ls_msg
ls_msg=''
as_type=upper(as_type)
choose case as_type
case 'DECI','NUMB'
if not IsNumber(as_data) then
ls_msg=as_text+'应输入数字型数据!'
end if
case 'DATE','DATETIME'
if integer(left(as_data,4)) < 1901 or integer(left(as_data,4)) > 2999 then
if as_text = '!' or as_text = '!' then
ls_msg ='年份应该在1901到2999之间!'
else
ls_msg ='"' + as_text + '"的年份应该在1901到2999之间!'
end if
if gi_flag =0 then
gi_flag = 1
else
gi_flag =0
return ""
end if
end if
end choose
return ls_msg