将一个 DataTable 中选定的列复制到另一个 DataTable。

4
我有一个场景,其中我有一个DataTable,其中包含某些列“Col1,Col2,Col3”。我想将“Col2,Col3”复制到另一个具有主键“ID”的DataTable中。最好的复制方法是什么?有5000多条记录,性能是关键因素。
我尝试使用Select、DefaultView.RowsFilter,但没有成功。我知道一种选项是循环遍历所有记录并逐个在第二个DataTable中复制数据。但我想知道更好的方法。
1个回答

4

尝试使用以下代码(Visual Basic):

dim dt1 as new datatable()
dim dt2 as new datatable()
dim dv as dataview = dt1.defaultview
dv.ToTable(false, new string[] { "col1", "col2" })

如果您希望获取不同的行,请在第一个ToTable参数中设置为true。


感谢您的回复。它有效了。但是由于我的 dt2 已经是主键列,所以不是追加来自 dt1 的行,而是覆盖了我的主列。是否有一种方法可以保留我现有的列? - Ashish
1
如果您想将dt1附加到dt2,请尝试使用以下代码:dt2.merge(dv.ToTable(false, new string[] { "col1", "col2" }),True,MissingSchemaAction.Add)。这将保留dt2的模式。 - Deepak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接