Visual Basic.NET - Manejar 2 DataTables en un Datagrid

 
Vista:

Manejar 2 DataTables en un Datagrid

Publicado por Pablo Acuña (31 intervenciones) el 02/01/2007 20:41:36
Me gustaria poder ver y editar los datos de 2 tablas relacionada (padre-hijo) usando un solo datagrid.
Para q tengan un idea, tengo una tabla (padre) con datos de personas y otra (hijo) q usa o referencia los datos de esa tabla mediante una relacion padre-hijo. Esta segunda tabla tambien tiene datos a editar. Esta relacion me permite cambiar los datos de una persona y al visualizar y a lavez tener un registro de datos extra que se aplican a esa persona solo en ciertas circunstancias.
Este es un esquema de las tablas
--------------- --------------------
Personas | | Incidencias |
--------------- --------------------
IDpers | ------- | IDincid |
Nombre | |-----> | IDPers |
Direccion | | Descripcion |
--------------- |Fecha |
-------------------

Asi deberia verse el Datagrid. Usando campos de ambas tablas
-------------------------------------------
IDPers Nombre Direccion Fecha Descripcion

De tal modo que pueda agregar, editar y eliminar filas sin problemas.
Alguien tiene idea de como hacerlo?
He intentado usando columnas calculadas en el dataset utilizando la propiadad expresion, pero no funciona para editar.
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:Manejar 2 DataTables en un Datagrid

Publicado por rednred (16 intervenciones) el 04/01/2007 16:21:39
Hola, saludos.
no se si te estas complicando con lo que tratas de hacer, o es que yo busco la solucion mas facil tanto para el programador como para el usuario.

solucion 1.si tienes dos tablas y estan relacionadas, crea una tercera tabla con SQL, y visualiza los datos que necesites.
solucion 2. abre la tabla padre, muestra los datos y si se hace necesario ver el resto de la info de la tabla hijo, con un simple click se podra ver los detalles (yo usaria otra forma para ver esos detalles)

suerte.
RED
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

RE:Manejar 2 DataTables en un Datagrid

Publicado por Arturo Pacheco (5 intervenciones) el 11/01/2007 19:34:40
La relacion Personas Incidencias es 1 a 1 ó 1 a muchas. EN AMBOS CASOS DEBES ACTUALIZAR POR INDEPENDIENTE LAS 2 TABLAS EXTERNAMENTE AL DATAGRID y refrescar el grid.

Al generar el DataAdapter genera la consulta de las tablas de forma que obtengas los datos que deseas.

Si es 1 a1 :

Solo existira un linea por persona.

Utiliza campos de texto para modificar los datos existentes (baja, modificacion) de la fila seleccionada (utiliza el DoubleClick del grid) y guarda en una variable para guardar el IDPers.

MODIFICACION: Modifica ambas tablas (UPDATE Personas ..... y UPDATE Incidencias).

ALTA: Añade en ambas tablas (INSERT INTO Personas ..... y INSERT INTO Incidencias).

BAJA: Elimina en ambas tablas (DELETE FROM Personas ..... y DELETE FROM Incidencias).

REGENERA LOS DATOS DEL GRID para que aparezcan las modificaciones.

Si es 1 a muchos:

Te aconsejo 2 GRID encadenados, de tal foma que al desplazarte por la primera (Personas) aparezacan en la segunda las incidencias.

El resto es parecido al apartado anterior
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

RE:Manejar 2 DataTables en un Datagrid

Publicado por Pablo Acuña (31 intervenciones) el 12/01/2007 16:21:26
Gracias Arturo! Me ayudo bastante tu explicación. La relacion es uno a muchos
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