将数据从一个DataTable复制到另一个DataTable

5
什么是将几千行数据从一个DataTable传输到另一个DataTable的最快方法?很高兴能看到一些示例代码片段。
编辑:我需要进一步解释。有一个筛选条件来复制行。因此,简单的Copy()方法不起作用。

你需要复制特定的行还是整个DataTable? - Sean Hanley
你确定百分之百不是简单地优化原始的SQL查询吗? - GEOCHET
SQL查询超出了我的控制 :(. 这是我遇到的最大问题。 - Alex
源数据的DataTable结构很糟糕。我需要修改它,使其对UI呈现更加友好。 - Alex
这出现在我的谷歌搜索结果中,是第七个结果!太棒了 StackOverFlow...它在工作!!! - Brian G
显示剩余3条评论
3个回答

7
你不能复制整个表格,你需要复制其中一行。可以从http://support.microsoft.com/kb/308909 (如果你跟随链接,则会看到示例代码)获取更多信息。
在使用ImportRow方法之前,您必须确保目标表与源表具有相同的结构。此示例使用DataTable类的Clone方法来复制DataTable的结构,包括所有DataTable模式、关系和约束。
此示例使用Microsoft SQL Server Northwind数据库中包含的“Products”表。前五行从“Products”表复制到内存中创建的另一个表中。

这并不完全是克隆。我想手动迭代数据表是唯一的选择。 - Alex

3

我需要再解释一下。复制行有一个筛选条件。因此,简单的Copy()无法工作。 - Alex

2
复制行到表格时会出现一些标志。 我以前见过人们尝试这样做,并且在每一个案例中,他们真正想要的是System.Data.DataView。 您应该检查RowFilter属性是否能够满足您的需求。请注意保留HTML标签。

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