如何修改一列并将一个DataTable复制到另一个DataTable中

时间:2013-10-25 14:45:22

标签: c# linq datatable

我有一个DataTable,其中包含货币对字段和其他列,如下所示 enter image description here

我尝试了以下方式来实现此

    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);
        }
    }

是否可以使用select和Insert查询将一个DataTable复制到另一个?

1 个答案:

答案 0 :(得分:1)

private void CopyColumns(DataTable source, DataTable dest, params string[] columns)
{
  dest = source.AsEnumerable()
               .Select(row=> {
                   DataRow newRow = dest.NewRow();
                   newRow[columns[0]] = ((string)row[columns[0]])
                                       .Replace("USD","").Trim('/');                      
                   for(int i = 1; i < columns.Length; i++) {
                     newRow[columns[i]] = row[columns[i]];
                   }
                   return newRow;  
                }).CopyToDataTable();
}