Foxtable(狐表)用户栏目专家坐堂 → 如何判断某列发生变化


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

主题:如何判断某列发生变化

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


加好友 发短信
等级:二尾狐 帖子:550 积分:4985 威望:0 精华:0 注册:2012/2/11 13:27:00
如何判断某列发生变化  发帖心情 Post By:2024/4/12 10:11:00 [只看该作者]

 for .......

    If dr1.RowState <> DataRowState.Unchanged Then '该行有变动变化

     '触发某个事件

    end if

  next


如果我在发现某行有变化前提下时,特地在限制只有这三个列【列c】【列b】【列c】有变动时才能触发事件,


请问应该怎么加个条件?


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 10:24:00 [只看该作者]

OriginalValue获得指定列修改前的值
OriginalIsNull判断某一列的原始值是否为空

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


加好友 发短信
等级:二尾狐 帖子:550 积分:4985 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2024/4/12 13:02:00 [只看该作者]

我的代码是写在一个窗体的按钮的click事件里的:

For Each dr1 As DataRow In DataTables("兴岗位聘任名册").Select(" 数据类型 = '增减数' ")
      If dr1.RowState <> DataRowState.Unchanged Then '该行有变动变化
           If dr1("岗位变动_聘任前") <> dr1.DataRow.OriginalValue("岗位变动_聘任前") Then
                 ' MessageBox.Show( dr1("教师姓名") & "  岗位变动_聘任前" & "的内容有变化" )
           End If
      end if
next

确实不知道怎么修改其中的错误,请多多指教!!

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 13:41:00 [只看该作者]

有什么错误?

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


加好友 发短信
等级:二尾狐 帖子:550 积分:4985 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2024/4/12 13:52:00 [只看该作者]

datarow 不是 datarow 的成员 

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 14:05:00 [只看该作者]

If dr1("岗位变动_聘任前") <> dr1.OriginalValue("岗位变动_聘任前") Then

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


加好友 发短信
等级:二尾狐 帖子:550 积分:4985 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2024/4/12 14:10:00 [只看该作者]

For Each dr1 As DataRow In DataTables("兴岗位聘任名册").Select(" 数据类型 = '增减数' ")
      If dr1.RowState <> DataRowState.Unchanged Then '该行有变动变化
           If dr1("岗位变动_聘任前") <> dr1.OriginalValue("岗位变动_聘任前") Then
                 ' MessageBox.Show( dr1("教师姓名") & "  岗位变动_聘任前" & "的内容有变化" )
           End If
      end if
next

我改为这样以后能运行了 

 回到顶部