如何组合2个数据表并在Windows应用程序中创建新的数据表?

时间:2012-07-25 06:42:26

标签: c# windows-applications

我有2个数据表DataTable1和DataTable2,DataTable1有列A,B,C,D和DataTable2有列为P,Q,R,SI想要添加数据表列并想要创建新的数据表如A,B,C,D,P,Q,R,S

有人请帮我怎么做

2 个答案:

答案 0 :(得分:1)

您可以合并2个这样的表

var dtA = new DataTable();
dtA.Columns.Add("A");
dtA.Columns.Add("B");
dtA.Columns.Add("C");

var dtB = new DataTable();
dtB.Columns.Add("D");
dtB.Columns.Add("E");
dtB.Columns.Add("F");

dtA.Merge(dtB);

答案 1 :(得分:0)

这不实用,而且设计不好。 仅仅因为你不能把两种不同的东西带到一起而没有"共性"正如斯蒂格在评论中提到的那样。

考虑将2个数据表汇总在一起,一个有5行,另一个有100个。 除非有东西可以加入,否则我不建议尝试这样做。 或者,如果您必须具有功能,那么我建议您遍历数据表,构建一个由Datable1和DataTable2组成的新数据表。

以下是加入的示例:

from table1 in dt1.AsEnumerable()
join table2 in dt2.AsEnumerable() on table1["Location"] equals table2["Location"]
select new
{
    Location = table1["Location"],
    Visa_Q1 = (int)table1["Visa_Q1"],
    Visa_Q2 = (int)table1["Visa_Q2"],
    Visa_Q3 = (int)table2["Visa_Q3"],
    Visa_Q4 = (int)table2["Visa_Q4"],
};