Foxtable(狐表)用户栏目专家坐堂 → [求助]新增加行未使用状态


  共有5367人关注过本帖平板打印复制链接

主题:[求助]新增加行未使用状态

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 21:32:00 [只看该作者]

正则中好不容易判断了很多次重复问题,难道白判断了是吗

Select Case e.DataCol.Name                                                                                         '判断编码和名称是否重复开始
    Case dt3.DataRows(0)("列名")'编码规则列
        Dim dr,dr1,dr2 As DataRow
        Dr=dt3.DataRows(0)
        dr1=e.DataTable.find(dr("列名") & "='" & e.NewValue & "' And _Identify <> '" & e.DataRow("_Identify") & "'")
        If dr1 IsNot Nothing Then
            MessageBox.Show("【" & e.NewValue & "】" & "重复是否正确!","请确认")
            e.Cancel = True
            Return Nothing
            'e.DataRow.save
        Else If e.DataCol.Name = "编码规则" AndAlso e.OldValue <> Nothing Then
            dr2= e.DataTable.find(dr("列名") & " Like '" & e.OldValue & "%' and " & dr("列名") & " <> '" & e.OldValue & "'")
            If dr2 IsNot Nothing Then
                Messagebox.Show("存在下级编码,不能修改编码!","提示")
                e.Cancel=True
                e.DataRow.save
                Return Nothing
            End If
        End If
        Functions.Execute("Haveuseadd",e)
    Case Else
        For Each dr As DataRow In dt2.DataRows
            Dim str() As String=dr("列名").split(",")
            For i As Integer=0 To str.Length-1
                If e.DataCol.name=str(i) Then
                    Dim dr1,dr2 As DataRow
                    dr1=e.DataTable.find(e.DataCol.Name & "='" & e.NewValue & "' And _Identify <> '" & e.DataRow("_Identify") & "'")
                    dr2=e.DataTable.find(e.DataCol.Name & " Like '" & str(i) & "%' and " & str(i) & " <> '" & e.DataRow(str(i)) & "' And " & str(i) & " Is Not null")
                    If dr1 IsNot Nothing Then
                        MessageBox.Show("【" & e.NewValue & "】" & "重复是否正确!","请确认")
                        e.Cancel = True
                        e.DataRow.save
                        Return Nothing
                        Exit For
                    ElseIf dr2 IsNot Nothing Then
                        Messagebox.Show("[" & e.DataRow(str(i)) & "】" & "存在下级编码,不能修改名称!","提示")
                        e.Cancel=True
                        e.DataRow.save
                        Return Nothing
                        Exit For
                    End If
                    Functions.Execute("Haveuseadd",e)
                Else
                    Continue For
                End If
            Next
        Next
End Select
[此贴子已经被作者于2016/1/21 21:32:52编辑过]

 回到顶部
总数 59 1 2 3 4 5 6 下一页