는vb.net의 데이터 테이블에있는 모든 중복을 제거하는 방법은 무엇입니까?
ID Name
1 AAA
2 BBB
3 CCC
1 AAA
4 DDD
최종 출력 내가 어떤 도움에 감사드립니다 Vb.Net 사용하여 데이터 테이블의 행을 제거하는 방법
2 BBB
3 CCC
4 DDD
내 데이터 테이블 고려한다. 당신은 단지 서로 다른 행 (동일한 ID와 이름있는 사람을 건너) 원하는 경우 작품에 따라
는vb.net의 데이터 테이블에있는 모든 중복을 제거하는 방법은 무엇입니까?
ID Name
1 AAA
2 BBB
3 CCC
1 AAA
4 DDD
최종 출력 내가 어떤 도움에 감사드립니다 Vb.Net 사용하여 데이터 테이블의 행을 제거하는 방법
2 BBB
3 CCC
4 DDD
내 데이터 테이블 고려한다. 당신은 단지 서로 다른 행 (동일한 ID와 이름있는 사람을 건너) 원하는 경우 작품에 따라
:
Dim distinctRows = From r In tbl
Group By Distinct = New With {Key .ID = CInt(r("ID")), Key .Name = CStr(r("Name"))} Into Group
Where Group.Count = 1
Select Distinct
' Create a new DataTable containing only the unique rows '
Dim tblDistinct = (From r In tbl
Join distinctRow In tblDistinct
On distinctRow.ID Equals CInt(r("ID")) _
And distinctRow.Name Equals CStr(r("Name"))
Select r).CopyToDataTable
원래 테이블에서 DUPS을 제거하려면 : 여기
Dim tblDups = From r In tbl
Group By Dups = New With {Key .ID = CInt(r("ID")), Key .Name = CStr(r("Name"))} Into Group
Where Group.Count > 1
Select Dups
Dim dupRowList = (From r In tbl
Join dupRow In tblDups
On dupRow.ID Equals CInt(r("ID")) _
And dupRow.Name Equals CStr(r("Name"))
Select r).ToList()
For Each dup In dupRowList
tbl.Rows.Remove(dup)
Next
귀하의 샘플 데이터입니다 :
Dim tbl As New DataTable
tbl.Columns.Add(New DataColumn("ID", GetType(Int32)))
tbl.Columns.Add(New DataColumn("Name", GetType(String)))
Dim row = tbl.NewRow
row("ID") = 1
row("Name") = "AAA"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 2
row("Name") = "BBB"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 3
row("Name") = "CCC"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 1
row("Name") = "AAA"
tbl.Rows.Add(row)
row = tbl.NewRow
row("ID") = 4
row("Name") = "DDD"
tbl.Rows.Add(row)
DataTable의 DefaultView.ToTable 메서드를 사용하여 파일을 수행 할 수 있습니다 이런 질문을 던지십시오 :
Public Sub RemoveDuplicateRows(ByRef rDataTable As DataTable)
Dim pNewDataTable As DataTable
Dim pCurrentRowCopy As DataRow
Dim pColumnList As New List(Of String)
Dim pColumn As DataColumn
'Build column list
For Each pColumn In rDataTable.Columns
pColumnList.Add(pColumn.ColumnName)
Next
'Filter by all columns
pNewDataTable = rDataTable.DefaultView.ToTable(True, pColumnList.ToArray)
rDataTable = rDataTable.Clone
'Import rows into original table structure
For Each pCurrentRowCopy In pNewDataTable.Rows
rDataTable.ImportRow(pCurrentRowCopy)
Next
End Sub
이 데이터의 출처는 어디입니까? – ChrisBint
동일한 이름 또는 동일한 이름 및 ID를 가진 행이 중복 된 행이란 무엇입니까? –