我有2个数据表,比如说dt1,dt2。两者都有相同的列,比如C1,C2,C3,C4和C5。 C5是数字列。我想合并两个数据表,但同时我想在合并C1,C2,C3和C4相同时添加C5。任何人都可以建议
答案 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);
}