_CheckPayees = ds.Tables("Payees")
_CheckPayees是一个DataTable变量。在使用上面的代码设置之后,我想通过它并从中删除重复的行。这些行必须完全是dupes,比如说两列具有匹配的值,而另一列则没有,这不算是欺骗。
有一种简单的方法吗?
答案 0 :(得分:0)
没关系......这很有效。
我讨厌回答我自己的问题,但是...我认为我已经坚持了一段时间,然后找到它,而且还没有答案,我会发布我的,因为其他人可能需要它来。
Private Function EliminateDuplicates(ByVal dt As DataTable) As DataTable
Dim ssort As String = ""
Dim col As DataColumn
Dim scol As DataColumn
For Each scol In dt.Columns
If ssort <> "" Then ssort &= ","
ssort &= scol.ColumnName
Next
dt.DefaultView.Sort = ssort
Dim i As Integer, bEquals As Boolean, c As Integer, ccount As Integer
ccount = dt.Columns.Count
For i = dt.Rows.Count - 1 To 1 Step -1
bEquals = True
For c = 0 To ccount - 1
If dt.DefaultView(i)(c).ToString() <> dt.DefaultView(i - 1)(c).ToString() Then
bEquals = False
Exit For
End If
Next c
If bEquals Then
dt.DefaultView(i).Delete()
End If
Next
Return dt
End Function