我有两个数据表两个数据表都包含七列。我想将第一个数据表的列值复制到第二个数据表行。源表的行不能大于7行
例如
Source Destination
SourceColumn ColumnOne ColumnTwo ColumnThree ColumnFour ......
1 1 2 3 4
2
3
4
6
7
我找到了这个功能,但这不能按预期工作
private void CopyColumns(DataTable Source, DataTable Destination, params string[] Columns )
{
foreach(DataRow SourceRow in dtable.Rows)
{
DataRow DestinationRow = dt.NewRow();
foreach(string ColumnName in Columns)
{
DestinationRow[ColumnName] = SourceRow[ColumnName];
}
dt.Rows.Add(DestinationRow);
}
}
知道如何将每个值转移到目标表中的适当列吗?
答案 0 :(得分:2)
以下是示例代码。这里dt1
和dt2
分别是源表和目标表。
假设dt1
的行数与dt2
中的列数相同。
var newRow = dt2.NewRow(); //dt2 is the destination table. Creating new row for destination table.
for (var i = 0;i < dt2.Columns.Count;i++)
{
var row1 = dt1.Rows[i];
newRow[i] = row1[0];
}
dt2.Rows.Add(newRow); //Adding new row to the destination table.
var xRow = dt2.Rows[0]; //Retrieving row for displaying the data to Console.
for (var j = 0; j < dt2.Columns.Count; j++)
{
Console.WriteLine(xRow[j]);
}