我有第一个数据表:
dtOld
列:
C E
第二个数据表:
dtNew:
A B C D E F
我只想将stOld数据复制到带有指定列的dtNew中。
即:
c col的dtOld值应该复制到dtNew..and E的D col值 Col to F col
我尝试了一些复杂的逻辑,但它没有用。
有没有办法解决这个问题。
我试过:
DataTable dtOld = new DataTable();
dtOld = ds.Tables[0];
string[] columns = { "c", "E" };
string[] columns2 = { "D", "F " };
foreach (DataRow sourcerow in dtOld.Rows)
{
DataRow destRow = dtNew.NewRow();
int cntm = 0;
foreach (string colname in columns)
{
destRow[columns2[cntm]] = sourcerow[colname];
cntm++;
}
dtNew.Rows.Add(destRow);
}
请帮帮我。
答案 0 :(得分:2)
它只是从一组固定的列到另一组的简单副本,那么为什么要复杂化呢?
foreach (DataRow sourcerow in dtOld.Rows)
{
DataRow destRow = dtNew.NewRow();
destRow["D"] = sourcerow["c"];
destRow["F"] = sourcerow["E"];
dtNew.Rows.Add(destRow);
}
答案 1 :(得分:0)
foreach (DataRow row in dtOld.Rows)
dtNew.LoadDataRow(new[]
{
null, // default value
null,
null,
row["C"],
null,
row["E"]
}, LoadOption.Upsert);