ASP.NET - Crear y copiar DataTables

   
Vista:

Crear y copiar DataTables

Publicado por Eleazar (19 intervenciones) el 08/02/2008 20:51:25
Tengo 3 DataTables, dos de los cuales se llenan con Querys desde la BD y la tercer que utilizo para converger los datos de las 2 primeras.

Mi duda es como puedo copiar una columna de un Datatable a otro sin tener que hacer iteración por cada fila.

Por el momento esto es lo que tengo:

DataTable tblaLims = new DataTable();
DataTable tbla1 = new DataTable();
DataTable tbla2 = new DataTable();

ICollection CreateDataSource()
{
tblaLims.Columns.Add(new DataColumn("Mes", typeof(string)));
tblaLims.Rows.Add("Enero");
tblaLims.Rows.Add("Febrero");
tblaLims.Rows.Add("Marzo");
tblaLims.Rows.Add("Abril");
tblaLims.Rows.Add("Mayo");
tblaLims.Rows.Add("Junio");
tblaLims.Rows.Add("Julio");
tblaLims.Rows.Add("Agosto");
tblaLims.Rows.Add("Septiembre");
tblaLims.Rows.Add("Octubre");
tblaLims.Rows.Add("Noviembre");
tblaLims.Rows.Add("Diciembre");
tblaLims.Columns.Add(tbla1.Columns[1]);
tblaLims.Columns.Add(tbla2.Columns[1]);
dvL = new DataView(tblaLims);
return dvL;
}

Si ejecuto la pagina tal como esta el explorer me da un mensaje que dice :

La columna 'RECIBIDOS' ya pertenece a otra DataTable.

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.ArgumentException: La columna 'RECIBIDOS' ya pertenece a otra DataTable.

Tambien intente con tblaLims.Columns.Add(tbla2.Columns[1].ToString()); y ahi me compila, sin embargo en la tabla no me aparecen los datos por lo que no creo que haya copiado la columna.

PD: Las 2 primeras tablas tienen 2 columnas y quiero copiar la 2º columna de cada tabla.

Es decir:

Tabla 1 Tabla 2 Tabla3
01 1234 01 2345 ==> "Enero" 1234 2345
02 5678 02 6789 ==> "Febrero" 5678 6789

PD2: se preguntarán porque no hago eso usando un única Query. Ya lo hice pero el hacerlo toma demasiado tiempo tanto que el explorador da error de timeout y además la Query exige tanto al servidor que ya me llego el reto diciendo que no puedo hacer eso porque el server se congela mientras se resuelve la Query.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear y copiar DataTables

Publicado por Javier Santamaria (312 intervenciones) el 11/02/2008 15:54:48
Hola,

Porque no intentas hacer algo asi a ver si te deja:

Dim col1 as new datatablecolumn = tbla1.Columns(1)
Dim col2 as new datatablecolumn = tbla1.Columns(1)
tblaLims.Columns.Add(col1)
tblaLims.Columns.Add(col2)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar