DataRowを複写してDataTableに追加する方法

  DataTable の特定行 DataRow を複写して新たなレコードとして DataTable に追加するには、レコードを識別するキー列を考慮して、独自にメソッドを作成して行う必要があります。
【使い方】

 DataTable の特定行 DataRow を複写して、新たなレコードとして追加します。
// dt は、DataTable
// dr_Base は、複写元となる DataRow
// dr_New は、新たに追加する DataRow

// 新規追加レコードを生成する
DataRow dr_New = dt.NewRow();

// 既存レコードに値を代入
foreach ( DataColumn col in dt.Columns )
{
    //自動インクリメント列は除く
    if ( col.AutoIncrement )
        continue;

    //=======================================================
    // 必要に応じて複写しない列をスキップする処理を記述する
    //
    // if ( col.ColumnName.Equals( "除外列名" ))
    //     continue;
    //=======================================================

    dr_New[col.Ordinal] = dr_Base[col.Ordinal];
}

// DataTable に新規行を追加
dt.Rows.Add(dr_New);
【補足】
 自動インクリメント列などのキー列を持つ DataRow を複写する場合、このキー列の影響で、単純に DataTable.ImportRow( DataRow )メソッドでコピー追加できません。
戻る