I have a DataTable which has some rows and I am using the select to filter the rows to get a collection of DataRows which I then loop through using foreach and add it to another DataTable, but it is giving me the error ‘This Row already belongs to another table’. Here is the code:
DataTable dt = (DataTable)Session['dtAllOrders']; DataTable dtSpecificOrders = new DataTable(); DataRow[] orderRows = dt.Select('CustomerID = 2'); foreach (DataRow dr in orderRows) { dtSpecificOrders.Rows.Add(dr); //Error thrown here. }
You need to create a new
Rowwith the values fromdrfirst. ADataRowcan only belong to a singleDataTable.You can also use
Addwhich takes an array of values:Or probably even better: