web-dev-qa-db-ja.com

あるデータテーブルから別のデータテーブルに単一の行をコピーする

私は2つのデータテーブルを持っていて、1つはいくつかの行を持ち、他は空です。一部の行を別のテーブルにコピーするために、最初のループに対してループを実行しています。 「行はすでに別のテーブルに属しています」というエラーが発生します。

DataRowを1つずつ他のDataTableにコピーする方法はありますか?.

前もって感謝します

13
MaxRecursion

使用する

newtable.ImportRow(oldtable.Rows[i]) 

ここで、iは目的の行番号です。

http://support.Microsoft.com/kb/308909/en-us で説明されています

28
Nikhil Agrawal

itemArrayをコピーします。もちろん、列が同じ場合にのみ機能します

var dtCopyTo = new DataTable();
foreach(var rowCopyFrom in dtCopyFrom.Rows)
{
    var updatedDataRow = dtCopyTo.NewRow();
    updatedDataRow.ItemArray = rowCopyFrom.ItemArray;
    dtCopyTo.AddRow(updatedDataRow);
}

ps:コードはideなしで型付けされているため、構文plsを確認してください

3
blindmeis