簡體   English   中英

如何復制行並將其添加到同一數據表

[英]How to copy row and add to the same datatable

我有一個數據表,我想復制一行數據並將該行數據插入同一數據表中。 有辦法嗎? 我嘗試了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();
        }

}

您可以嘗試類似:

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

您不應該更改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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM