合并2个数据表但添加列

时间:2017-04-17 17:05:22

标签: .net datatable

我有2个数据表,比如说dt1,dt2。两者都有相同的列,比如C1,C2,C3,C4和C5。 C5是数字列。我想合并两个数据表,但同时我想在合并C1,C2,C3和C4相同时添加C5。任何人都可以建议

1 个答案:

答案 0 :(得分:0)

遍历第二个数据表行并将其与第一个数据表中的每一行进行比较。如果前4个列的值匹配,则将第5个列的值相加,否则将该行添加到第一个数据表中。

foreach (DataRow r2 in dt2.Rows)
{
    bool rowExists = false;
    foreach (DataRow r1 in dt1.Rows)
    {
        if((r1["C1"] == r2["C1"])&&(r1["C2"] == r2["C2"])&&(r1["C3"] == r2["C3"])&&(r1["C4"] == r2["C4"]))
        {
            r1["C5"] = r1["C5"] + r2["C5"];
            rowExists = true;
            break;
        }                          
    }
    if(!rowExists)
        dt1.Rows.Add(r2);
}