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