[英]Copying specific columns from one datatable to another
這似乎不應該引起混淆或困難,但是我很難找到解決這個問題的方法。 我想將包含數據而不是行的列從一個大的DataTable復制到一個較小的DataTable。
我有一個DataTable,其中包含許多數據列(大約20列),以及要在復制的DataTable中包含的列的字符串數組(4)。 有合理的方法來完成此任務嗎?
您可以克隆表,刪除不需要的列,然后執行合並。 感謝Yuriy的有用評論,這大大減少了代碼。
Dim columnsToKeep As String() = {"ColumnName1", "ColumnName2"}
Dim destTable As DataTable = sourceTable.Clone()
For index As Integer = destTable.Columns.Count - 1 To 0 Step - 1
Dim columnName As String = destTable.Columns(index).ColumnName
If Not columnsToKeep.Contains(columnName) Then
destTable.Columns.RemoveAt(index)
End If
Next
destTable.Merge(sourceTable, False, MissingSchemaAction.Ignore)
MissingSchemaAction.Ignore
將執行合並,並忽略在sourceTable
找到的額外列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.