比如A、B、C、D、E一共5列一起组合对新输入的内容进行重复性的判定,其中A和E为非空的,但BCD列有可能是为空的,之前写的代码只是针对5列为非空才能起到作用,请问有没有其它办法简单的;Select Case e.DataCol.name
Case "物料类别","物料名称","规格", "等级","单位","品牌"
Dim dr As DataRow = e.DataRow
Dim str As String = ""
If e.DataCol.name = "物料名称" Then
str = e.newvalue & "|" & dr("规格") & "|" & dr("等级") & "|" & dr("单位") & "|" & dr("品牌")
ElseIf e.DataCol.name = "规格" Then
str = dr("物料名称") & "|" & e.newvalue & "|" & dr("等级") & "|" & dr("单位")& "|" & dr("品牌")
ElseIf e.DataCol.name = "等级" Then
str = dr("物料名称") & "|" & dr("规格") & "|" & e.newvalue & "|" & dr("单位")& "|" & dr("品牌")
ElseIf e.DataCol.name = "单位" Then
str = dr("物料名称") & "|" & dr("规格") & "|" & dr("等级") & "|" & e.newvalue & "|" & dr("品牌")
ElseIf e.DataCol.name = "品牌" Then
str = dr("物料名称") & "|" & dr("规格") & "|" & dr("等级") & "|" & dr("单位") & "|"& e.newvalue
End If
dr = e.DataTable.Find("物料名称 + '|' + 规格 + '|' + 等级 + '|' + 单位 + '|' + 品牌 = '" & str & "'")
If dr IsNot Nothing Then
MessageBox.Show("此物料已经存在!")
e.Cancel = True
End If
End Select