Foxtable(狐表)用户栏目专家坐堂 → 【请教】同一行内a、b、c三列的值,要求禁止任何两者之间重复


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

主题:【请教】同一行内a、b、c三列的值,要求禁止任何两者之间重复

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 15:03:00 [显示全部帖子]

DataColChanging事件

 

Select Case e.DataCol.Name
   
    Case "a", "b", "c"
       
        If e.newValue <> Nothing Then
            Dim count As Integer = 0
            If e.Newvalue = e.DataRow("a") Then
                count += 1
            End If
            If e.Newvalue = e.DataRow("b") Then
                count += 1
            End If
            If e.Newvalue = e.DataRow("c") Then
                count += 1
            End If
            If count >= 2 Then
                msgbox("重复")
                e.cancel = true
            End If
        End If
       
End Select

[此贴子已经被作者于2015/8/11 15:04:02编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 17:55:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "统计员","复核员","监督员"
        Dim dr As DataRow = e.DataRow
        Dim Str1 As String = "|" & dr("统计员") & "|" & dr("复核员") & "|" & dr("监督员") & "|"
        If e.NewValue>"" Then
            Dim ary() As String=str1.Replace("|" & e.NewValue & "|","@").split("@")
            If ary.length > 1 Then
                MessageBox.Show("统计员\监督员\复核员不能重复输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
                dr(e.DataCol.Name)=""
            End If
        End If
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/11 20:53:00 [显示全部帖子]

那你就参考2楼的代码去写。

 回到顶部