Foros del Web » Programación para mayores de 30 ;) » .NET »

asignar 2 dataset a un datagridview

Estas en el tema de asignar 2 dataset a un datagridview en el foro de .NET en Foros del Web. Hola a todos, espero esten bien Quiero asignar lo que tienen 2 dataset a un datagridview, se puede hacer algo así? o juntar los 2 ...
  #1 (permalink)  
Antiguo 17/12/2009, 14:31
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
asignar 2 dataset a un datagridview

Hola a todos, espero esten bien

Quiero asignar lo que tienen 2 dataset a un datagridview, se puede hacer algo así?

o juntar los 2 dataset en uno solo y asignarlo al datagridview?

si se puede como se realizaria?

gracias

Última edición por Betina232022; 17/12/2009 a las 15:41
  #2 (permalink)  
Antiguo 17/12/2009, 14:51
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: asignar 2 dataset a un datagridview

lo que alguna vez hice, fue ampliar uno de los DataSets, agregandole la estructura del segundo dataset. Claro que en mi caso ambos datasets eran similares en cantidad de registros.
para esto hay un metodo que se llama merge().

http://msdn.microsoft.com/en-us/library/fk68ew7b.aspx ahi sale un ejemplo de como implementarlo

espero te sirva
Salu2
PLCH
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
  #3 (permalink)  
Antiguo 17/12/2009, 16:02
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: asignar 2 dataset a un datagridview

Gracias por contestar.

Le puse
dataset1.tables[0].Merge(dataset2.tables[0]);

y si los junta pero los datos de la columna del dataset2 los empieza después de los del dataset1.

como los tendría que acomodar para que aparezcan desde la primer posición?
  #4 (permalink)  
Antiguo 17/12/2009, 17:34
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: asignar 2 dataset a un datagridview

deduzco que tus datatables no tienen la misma estructura... en este caso el merge no te sirve, porque son precisamente para actualizar datos de 2 datatables pero con la misma estructura...

pueden darse 2 situaciones. Que quieras añadir mas columnas, o mas filas...
en ambos casos debes recorrer el datatable que vas a agregar (columna por columna o fila por fila) y adicionarlo al datatable 1 con el metodo add

es mas menos asi.
Tenemos 2 datatables dtt1 y dtt2 (pueden ser dataset tambien)

suponiendo que el dtt1 va primero que el dtt2

primero agregamos las columnas

Código:
           DataTable dtt1 = new DataTable();
            dtt1.Columns.Add("a1", Type.GetType("System.String"));
            dtt1.Columns.Add("a2", Type.GetType("System.String"));
            dtt1.Columns.Add("a3", Type.GetType("System.String"));

            DataTable dtt2 = new DataTable();
            dtt2.Columns.Add("a4", Type.GetType("System.String"));
            dtt2.Columns.Add("a5", Type.GetType("System.String"));
            dtt2.Columns.Add("a6", Type.GetType("System.String"));

            foreach (DataColumn dc in dtt2.Columns)
            {
                string sColumName = dc.ColumnName.ToString();
                object oTipo = dc.DataType;

                dtt1.Columns.Add(sColumName, (Type)oTipo);
            }
una vez que tienes lista la estructura, copias los datos, recorriendo las Rows usando la misma idea.

Salu2
PLCH
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
  #5 (permalink)  
Antiguo 18/12/2009, 09:31
 
Fecha de Ingreso: enero-2008
Mensajes: 366
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: asignar 2 dataset a un datagridview

Hola, te agradezco mucho tu respuesta

Ya funciona bien, lo realice como lo sugeriste.

muchas gracias, que estes bien
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.