Foxtable(狐表)用户栏目专家坐堂 → 数据过滤


  共有2852人关注过本帖树形打印复制链接

主题:数据过滤

帅哥哟,离线,有人找我吗?
nxqtxwz
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
数据过滤  发帖心情 Post By:2019/12/24 19:23:00 [只看该作者]

数据列怎么设置条件输入呢?比如输入的数据不能>5等 。

 回到顶部
帅哥哟,离线,有人找我吗?
teng0731
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:459 积分:3471 威望:0 精华:0 注册:2011/6/6 11:22:00
  发帖心情 Post By:2019/12/24 19:52: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

上面的代码在折扣超出0.15后,取消此次变动;如果希望在折扣超出0.15后,自动改为0.15,代码如下:

If e.DataCol.Name = "折扣" Then '如果是折扣列的内容发生变化。
    If
e.NewValue > 0.15 Then '如果输入的内容大于0.15。
        e
.NewValue = 0.15 '那么改为0.15。
    End If
End If


 回到顶部