簡體   English   中英

將特定的列從一個數據表復制到另一個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM