我有两个数据表。
第一个是:
DataTable NameAddressPhones = new DataTable();
有一个三列表格,包含姓名、地址和电话号码。但是我只需要姓名和地址这两列数据,所以我想将这些列(及其数据)复制到新的DataTable中。
DataTable NameAddress = new DataTable();
为此,我所做的是:
foreach (DataRow sourcerow in NameAddressPhones.Rows)
{
DataRow destRow = NameAddress.NewRow();
foreach (string colname in columns)
{
destRow[colname] = sourcerow[colname];
}
NameAddress.Rows.Add(destRow);
}
每次表中插入新记录时,我都会清除NameAddressPhones(first)DataTable。每次列数相同,但列名将不同,例如Nm而不是Name,Add而不是Address。现在问题是第二个DataTable已经有了列名Name和Address,现在我想将第一个DataTable的Nm和Add列数据复制到第二个DataTable,但列名与第二个DataTable的列名不同。因此,即使有不同的列名,我也想将第一个DataTable的Nm列数据复制到第二个DataTable的Name列,将第一个DataTable的Add列数据复制到第二个DataTable的Address列。
简而言之,即使两个DataTable有不同的列名,如第一个DataTable的Nm是列名,第二个DataTable的Name是列名,则应将Nm列的数据复制到Name列。