以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于DataColChanged事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194243)

--  作者:裴保民
--  发布时间:2024/11/21 20:45:00
--  关于DataColChanged事件
DataColChanged写了一个手机号验证句子,当输入不合法的收据号时怎么不能改变输入焦点呀?
--  作者:有点蓝
--  发布时间:2024/11/21 20:48:00
--  
到DataColChanging事件处理:http://www.foxtable.com/webhelp/topics/2481.htm
--  作者:裴保民
--  发布时间:2024/11/21 21:02:00
--  
在该事件中怎么设置当手机号不为空值切输入不合法的手机号时禁止移出该字段呀?
--  作者:有点蓝
--  发布时间:2024/11/21 21:08:00
--  

DataColChanging

某一列的内容发生变化前执行,此时新值还没有写入表中,列的内容还是更改前的值。
利用此事件,我们可以在某列内容发生变化之前进行拦截判断,如果不符合特定的条件,则取消此次变化,或者重新指定一个值。

e参数属性:

DataTable: 返回发生数据更改的数据表。
DataRow:   返回发生数据更改的数据行。
DataCol:   返回数据更改的数据列。
NewValue:  Object类型,表示新的值
OldValue:  Object类型,表示旧的值
Cancel:    逻辑(Boolean)类型,设为True取消更改。

示例一

例如在订单表中,要求折扣列的值不能超过0.15,可以在DataColChanging事件中设置如下代码:

If e.DataCol.Name = "折扣" Then \'如果是折扣列的内容发生变化。
    
If e.NewValue > 0.15 Then \'如果新值大于0.15。
        e.Cancel = 
True \'取消变动。
    
End If
End
 
If