合并同一数据表中的行
本文关键字:数据表 合并 | 更新日期: 2023-09-27 18:34:20
我正在尝试将两行合并为一行。它们都位于同一个数据库和表中。
例:
column1 column2 column3 column4 column5 column6
row1 value value value null null null
row2 null null null value value value
我尝试使用表格。合并(表),但这似乎没有任何作用。我怎样才能合并这两行,让它只是
column1 column2 column3 column4 column5 column6
row1 value value value value value value
假设您有两个数据行dr1
并且来自同一个数据表dr2
,则使用 Linq
很简单:
var merged = dr1.ItemArray.Zip(dr2.ItemArray, (e1, e2) =>e1 ?? e2).ToArray();
dr1.ItemArray = merged;
没有内置函数可以为您执行此操作。 因此,您必须手动执行此操作。 首先确定要合并的行,然后运行列以合并它们。
DataRow target = table.Rows[0];
DataRow source = table.Rows[1];
for (int i = 0; i < table.Columns.Count; i++)
{
target[i] = target[i] ?? source[i];
}
table.Remove(source);
上面的示例循环访问两行的所有列,并从目标为 null 的源中分配值。 合并后,它会删除源行。