我希望客户信息表每增加一行,新增加的那行里的“客户编号”自动填入当前行的“_Indentify”的值,于是我在“客户信息表”的dataRowAdded事件写代码:Dim dr As DataRow = e.DataRow
dr("客户编号") = dr("_Identify")
因为“客户编号”是不能重复的,所以,又在DataColChanging事件写代码:
If e.DataCol.Name = "客户编号" Then
Dim dr As DataRow
dr = e.DataTable.Find("客户编号 = '" & e.NewValue & "' And [_Identify] <> " & e.DataRow("_Identify") ) '如果在"客户编号"列能找到与新输入的值一样的值
If dr IsNot Nothing Then
MessageBox.Show("此客户编号已经存在,不可新增!")
e.Cancel = True
End If
End If
但是有个问题,本身("_Identify")应该是独一无二,不会重复的,也就是说上面这段DataColChanging事件代码应该可以不用写才对,然而,实际情况是,有时候新增一行,却会提示("此客户编号已经存在,不可新增!"),这是什么情况?