Foxtable(狐表)用户栏目专家坐堂 → DataColChanging触发两次的问题


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

主题:DataColChanging触发两次的问题

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 13:47:00 [显示全部帖子]

例子发上来.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 14:29:00 [显示全部帖子]

如何操作触发两次?  我在窗口里. 表里输入.均只触发一次.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 14:40:00 [显示全部帖子]

.
图片点击可在新窗口打开查看此主题相关图片如下:1.gif
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 14:40:00 [显示全部帖子]

怎么测试都是只弹出一次.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 14:47:00 [显示全部帖子]

应该和什么版本的系统无关的. 重新安装.NET试试看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 14:56:00 [显示全部帖子]

确实是这样,好像也没什么好的办法.你写到Validating事件去验证吧  要不就禁用TAB健

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 15:08:00 [显示全部帖子]

SystemReady = False
If e.DataCol.Name = "工号" Then

    MessageBox.Show( "e.OldValue: " & e.OldValue)
    MessageBox.Show( "e.NewValue: " & e.NewValue)

    Dim dr As DataRow 
    dr = e.DataTable.Find("工号 = '" & e.NewValue & "'")
    If dr IsNot Nothing   Then
        MessageBox.Show("此工号已经存在!","系统测试",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        e.Cancel = True
    End If
End If
SystemReady = True

这样,测试没问题了.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/5/20 15:23:00 [显示全部帖子]

用DataColChanged事件吧

If e.DataCol.Name = "工号" Then

    Dim dr As DataRow 
    dr = e.DataTable.Find("工号 = '" & e.NewValue & "'")
    If dr IsNot Nothing   Then
        MessageBox.Show("此工号已经存在!","系统测试",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        SystemReady =False
        e.DataRow("工号")=e.oldValue
        SystemReady =True
    End If
End If

 回到顶部