Como copiar una DateTable en C# (también DataRow)

c-sharp imagen

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

4 opiniones en “Como copiar una DateTable en C# (también DataRow)”

  1. Brother… MUCHÍSIMAS GRACIAS…. me has salvado la vida con este bendito problema que vaya que si estaba súper fácil de solucionar, Saludos desde Nicaragua.

    1. Yo en su día también tuve que buscar como copiar un DataTable en C# .NET puesto que lo hacía de una forma más complicada y estaba seguro de que se podía hacer más fácil. Al final lo encontré y decidí compartirlo para que sirviera para más gente.
      Un saludo!

  2. Buen dia, intento copiar varias filas colocadas en diferentes posiciones dentro de la tabla1, a una tabla2 en donde queden ordenadas, saben como podria hacer esto, ya intente con la funcion tabla2.ImportRow(dr); pero al momento de querer leer tabla2 me dice que no existen columas ni filas en mi tabla2, ojala me puedan ayudar. estoy programando en asp.net c#

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *