2016-04-27 54 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); 
相關問題