2016-04-27 27 views
0

データテーブルがあり、データ行をコピーしてそのデータテーブルを同じデータテーブルに挿入したいと思います。これを行う方法はありますか?私はImportRowdt.Rows.Add(dr)を試しましたが、どちらもうまくいかないようです。行をコピーして同じデータテーブルに追加する方法

これは私のコードの一部です:

foreach(DataTable in dt.Rows){ 
    // my code goes here 
     foreach(Datarow row in dt.Select ("email IS NOT NULL")){ 

      row.ImportRow(dr); 
      row.AcceptChange(); 
     } 

} 

答えて

1

あなたが試みることができるようなもの:

var newRow = dataTable.NewRow(); 
var existingRow = dataTable.Rows[rowIndexToCopy]; 
newRow.ItemArray = existingRow.ItemArray.Clone() as object[]; 
1

あなたが行う場合は、foreachループの反復変数を変更し、するべきではありません反復処理中のデータを効果的に変更しているために変更が反映されず、これはうまくいきません。

あなたの場合は、新しいデータテーブルにデータを追加し、その後datatable.mergeコマンドを使用してデータをマージすることをお勧めします。

  DataTable newDT = new DataTable(); 
      foreach (DataTable dt in myDt.Rows) 
      { 
       //More Code 
       foreach (DataRow row in dt.Select("email IS NOT NULL")) 
       { 
        newDT.Rows.Add(row); 
       } 
      } 
      myDt.Merge(newDT); 
関連する問題