Si estás programando en .NET con lenguaje C# y necesitas copiar el contenido de una tabla (DataTable) a otra hay una forma muy sencilla de hacerlo.
Tenemos 2 DataTables:
DataTable tabla1 = new DataTable();
DataTable tabla2 = new DataTable();
Si hacemos tabla2 = tabla1 NO ES VÁLIDO, porque lo que hagamos en una tabla se reflejaría en la otra.
Podemos utilizar para copiarla lo siguiente:
//Clonamos la estructura
tabla2 = tabla1.Clone();
//Recorremos las filas de la tabla1 y las importamos en la tabla2
Foreach(DataRow dr in tabla1.Rows)
{
tabla2.ImportRow(dr);
}
Con esto tendríamos 2 tablas iguales pero sin estar vinculadas referencialmente. Problema resuelto