如何從DataTable複製特定行到另一個在c#中的Datable?將會有不止一行。將行從一個Datatable複製到另一個DataTable?
回答
foreach (DataRow dr in dataTable1.Rows) {
if (/* some condition */)
dataTable2.Rows.Add(dr.ItemArray);
}
上面示例假定和dataTable2
具有相同的數量,類型和列的順序。
嘗試這個
String matchString="ID0001"//assuming we have to find rows having key=ID0001
DataTable dtTarget = new DataTable();
dtTarget = dtSource.Clone();
DataRow[] rowsToCopy;
rowsToCopy = dtSource.Select("key='" + matchString + "'");
foreach (DataRow temp in rowsToCopy)
{
dtTarget.ImportRow(temp);
}
答案很好,但性能下降。 – 2012-07-24 11:55:19
複製表指定行到另一
// here dttablenew is a new Table and dttableOld is table Which having the data
dttableNew = dttableOld.Clone();
foreach (DataRow drtableOld in dttableOld.Rows)
{
if (/*put some Condition */)
{
dtTableNew.ImportRow(drtableOld);
}
}
檢查了這一點,你可能會喜歡它(之前,請克隆表1至表2):
table1.AsEnumerable().Take(recodCount).CopyToDataTable(table2,LoadOption.OverwriteChanges);
或者:
table1.AsEnumerable().Where (yourcondition ) .CopyToDataTable(table2,LoadOption.OverwriteChanges);
下面的示例將是複製一行的最快方法。 根據列名稱正在複製每個單元格。 萬一你不需要一個特定的單元格複製,然後嘗試捕獲或添加如果。 如果您要複製多於一行然後循環下面的代碼。
DataRow dr = dataset1.Tables[0].NewRow();
for (int i = 0; i < dataset1.Tables[1].Columns.Count; i++)
{
dr[dataset1.Tables[1].Columns[i].ColumnName] = dataset1.Tables[1].Rows[0][i];
}
datasetReport.Tables[0].Rows.Add(dr);
dataset1.Tables [1] .Rows [] [I];將索引0更改爲指定的行索引,或者如果要進入循環或將其變爲邏輯,則可以使用變量
受以下版本支持:4,3.5 SP1,現在可以在對象上調用方法。
DataTable dataTable2 = dataTable1.Copy()
從技術上講,這會創建一個數據表的副本。雖然在問題中沒有明確說明,但dataTable2可能已存在,並且其中有其他行,我們不想丟失。此外,該問題明確指出「特定行」,而這隻能處理所有行。 – Matt 2016-03-08 22:24:18
至於其他職位的結果,這是最短的,我可以得到:
DataTable destTable = sourceTable.Clone();
sourceTable.AsEnumerable().Where(row => /* condition */).ToList().ForEach(row => destTable.ImportRow(row));
private void CopyDataTable(DataTable table){
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = table.Copy();
// Insert code to work with the copy.
}
你的代碼對我來說很完美,是一個非常簡單的代碼,謝謝 – 2017-06-28 13:17:04
- 1. 將DataRow從一個DataTable複製到另一個DataTable?
- 2. 將DataTable列的值複製到另一個DataTable行C#
- 3. 從一個DataTable複製特定列到另一個
- 4. Jquery Datatable將一行從一個表拖放到另一個表
- 5. 如何將DataTable中的特定行復制到另一個
- 6. 從另一個DataTable更新DataTable列
- 7. 將數據從一個DataTable複製到另一個DataTable的不同結構的最佳方法
- 8. 指定一個DataTable到DataTable
- 9. Jquery Datatable - 將值從一個「Data」元素傳遞到另一個
- 10. Jquery Datatable添加從一個表到另一個行
- 11. 無法從DataTable中刪除基於另一個DataTable的行
- 12. 從DataTable ImportRow到另一個仍然目標DataTable空VB.NET
- 13. 如何將DataTable中的行復制到另一個DataTable中而不刪除現有行?
- 14. 將行從表複製到另一個
- 15. 如何獲取Datatable行值並將其映射到另一個Datatable?
- 16. 如何將一個DataTable行移動到其DataTable的第一個位置
- 17. 如何僅將DataTable中的最後一條記錄複製到另一個DataTable中
- 18. 從一個DataTable中選擇行而不是另一個
- 19. VB:將Datatable分配給另一個DataTable而不導入記錄。
- 20. .NET:將2個DataSet/DataTable合併到一個DataTable中
- 21. C#DataTable查找不存在於另一個DataTable中的行
- 22. 從一個DataTable循環遍歷並在vb.net中填充另一個DataTable
- 23. DataTable - 添加一列(複選框) - 將DataTable行讀入Array - 在DataTable中添加一個數組作爲行
- 24. 將數據從一個現有行復制到另一個行
- 25. 將一行從一個表格複製到另一個表格
- 26. 如何將一行從一個表複製到另一個表
- 27. php + mysql:將一行從一個表複製到另一個表
- 28. 在一個DataTable
- 29. 在一個DataTable
- 30. 從WebForm重傳一個DataTable到一個MVC控制器
這是不是結果。「該行已屬於 另一個表」 – McArthey 2012-06-06 19:59:20
@McArthey不,它不會;正在從現有行中的值創建新行。該行本身不會被添加到其他DataTable中。 – 2012-06-07 00:31:19
這導致「輸入數組長度超過此表中的列數」。 – Vinod 2012-10-21 11:46:38