Foxtable(狐表)用户栏目专家坐堂 → 开发宝典之疑问一,DataColChanging验证,繁琐吗?


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

主题:开发宝典之疑问一,DataColChanging验证,繁琐吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/26 17:35:00 [显示全部帖子]

要判断列名吧?

 

If e.datacol.name = "折扣" Then

    'e.newvalue

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/26 17:35:00 [显示全部帖子]

具体问题,做个例子上来,说明你要做什么。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/27 10:09:00 [显示全部帖子]

datacolchanging事件不行。

 

e.newvalue 的值,是修改的列的值,可能是 【客户id】,也可能是 【折扣】,除非你改成

 

Select case e.DataCol.Name
      Case "折扣"
      dim dr as DataRow = e.DataRow

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/27 10:23:00 [显示全部帖子]

改成,比如

 

Select Case e.DataCol.Name
    Case "折扣"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = DataTables("客户").Find("客户ID = '" & dr("客户ID") &  "'")
        If pr IsNot Nothing AndAlso pr("客户等级") = "vip"
            If e.NewValue > 0.2 Then
                e.NewValue = 0.2
            End If
        ElseIf  e.NewValue > 0.15 Then
            e.NewValue = 0.15
        End If
End Select


 回到顶部