试试这样,如果还不行,做个例子上来测试。
Select Case e.DataCol.name
Case "截止日期","工号","时段"
Dim dr As DataRow = e.DataRow
If dr.IsNull("截止日期") = False AndAlso dr.IsNull("时段") = False AndAlso dr.IsNull("工号") = False Then
Dim filter As String = "截止日期 = '" & dr("截止日期") & "' and 时段 = '" & dr("时段") & "' and (1=2 "
For Each s As String In dr("工号").split(",")
filter= filter & " or (','+工号+',') like '%," & s & ",%'"
Next
filter = filter & ")"
Dim count = e.DataTable.SqlCompute("count(时段)", filter)
If count > 1 Then
msgbox("查看员工重复")
e.DataRow(e.DataCol.Name) = e.OldValue '取消输入
Else
e.datarow.save
End If
End If
End Select