Har*_*hna 1 .net c# datatable copy winforms
我们如何将一个数据列从一个数据表复制到另一个数据表?我有数据表喜欢
DataTable datatable1=new DataTable();
Run Code Online (Sandbox Code Playgroud)
那个表中有四列,但我只想要一列.所以我喜欢
DataTable datatable2=new DataTable();
addressAndPhones2.Columns.Add(addressAndPhones.Columns[0].ColumnName,addressAndPhones.Columns[0].DataType);
Run Code Online (Sandbox Code Playgroud)
但这只是添加了列,但我想将该列的数据复制到datatable2.这就是我想将数据从一个数据表复制到另一个数据表的数据列.
Han*_*ing 11
我想到两种解决方案:
第二个是更简单的代码,但会复制不需要的数据(这意味着额外的时间和内存).
对于第一个,如果您准备了命运数据表,并且源和命运中的列名(和类型)是相同的:
private void CopyColumns(DataTable source, DataTable dest, params string[] columns)
{
foreach (DataRow sourcerow in source.Rows)
{
DataRow destRow = dest.NewRow();
foreach(string colname in columns)
{
destRow[colname] = sourcerow[colname];
}
dest.Rows.Add(destRow);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以这样使用:
CopyColumns(source, destiny, "Column1", "column2");
Run Code Online (Sandbox Code Playgroud)
命名任意数量的列.