Visual Basic.NET - Dos DataGridView relacionados

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 8 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Dos DataGridView relacionados

Publicado por Cristian (2 intervenciones) el 30/09/2020 07:14:55
Buenas noches estimados, disculpen la molestia. Resulta que siguiendo un Tutorial llegue a crear un formulario, con dos DGV, con tablas de una base de datos SQL Server Express.
Puedo hacer CRUD en ambas tablas.
Lo que no puedo lograr es relacionarlas. Necesito hacer que al elegir una fila de un DGV se filtren las filas dependientes del otro DGV. Esto en access era muy fácil de lograr. Cabe aclarar que en la base de datos esta relacionado un campo (Dominio) entre las Camionetas y Asignacion
En el dataset a la relacion la llamé "relacion"

De esta manera se carga el formulario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Class Form1
    Private db As db_camionetasEntities
    Private db2 As db_camionetasEntities
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
        db = New db_camionetasEntities
        db.tbl_camionetas.Load()
        TblcamionetasBindingSource.DataSource = db.tbl_camionetas.Local
 
        db2 = New db_camionetasEntities
        db2.tbl_asignacion.Load()
        TblasignacionBindingSource.DataSource = db2.tbl_asignacion.Local
 
    End Sub
 
end class
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
Imágen de perfil de melqui
Val: 469
Bronce
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Dos DataGridView relacionados

Publicado por melqui (138 intervenciones) el 30/09/2020 20:05:03
Cristian,
1
2
Private db As db_camionetasEntities
Private db2 As db_camionetasEntities

no se que estas llamanda en esta declaracion,
mas para comenzar a programar use las buenas prácticas.

en tu caso por lo que entendi, necesitar relacionar las 2 tablas, creo que primero tendrias que usar un inner join
para asi unir las tablas y los campos que necesitas, mas ahora si es por separado.
seria mas o menos asi.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Public sub Lectura_Datos
 
 
    Using cn As SqlConnection = 'aqui debe de colocar la ruta de tu base de datos
        Try
            cn.Open()
            Dim StrSql As String = " SELECT * FROM TABLA_1 INNER JOIN TABLA_2 ON TABLA_1.COLUNA_CODIGO = TABLA_2.COLUNA_CODIGO"
            Dim cmd As  New SqlCommand(StrSql, cn)
            Dim da As New SqlDataAdapter(cmd)
    Dim dt As New DataTable
 
            da.Fill(dt)
 
         Datagridview.datasource = dt
 
 
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, "ERRO ")
        Finally
            cn.Close()
        End Try
    End Using
    Return dt
End Function

ahora si necesitas que las 2 tablas se carguen en las 2 datagrid. use el mismo codigo que te pase solo saque el inner
y que quede
1
SELECT * FROM TABLA_1
y
1
SELECT * FROM TABLA_2

y al cargar que se cargue Datagridview1.datasource = dt e Datagridview2.datasource = dt
ambas tablas deben de tener codigo el mismo codigo mas separados
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
sin imagen de perfil
Val: 5
Ha aumentado su posición en 8 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Dos DataGridView relacionados

Publicado por Cristian (2 intervenciones) el 01/10/2020 15:18:25
Buenos días melequi, muchas gracias por su respuesta y tiempo. Seguí los pasos de este video: https://www.youtube.com/watch?v=ZU16HQDz-uM&t=902s. Entiendo que a la variable db, la encomiendo como una entidad, que en este caso es una base de datos.
Lo que intento lograr, son dos datagrid con dos tablas diferentes, pero relacionadas (camionetas->asignaciones). Muchas gracias, abrazo!
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