Visual Basic - enlazar 2 datagridview

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 22
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

enlazar 2 datagridview

Publicado por Jordi (14 intervenciones) el 02/05/2019 17:28:12
Buenas
Tengo 2 tablas en sql server
Una se llama usuarios, con los campos
NIF
Nombre
Apellidos
Y una segunda tabla denominada Pedidos, con los campos
NIF
Fecha
Producto
Importe
Tengo enlazadas las 2 tablas por Sql server , por el campo NIF de uno (Usuarios) a varios (Pedidos)

He conseguido en Vb ver los datos en un Datagridview de la tabla Usuarios.

Lo que yo querria, es tener un segundo Datagridview, que al seleccionar en el primero el NIF del usuario, o la fila del Datagridview, en un segundo Datagridview me saliese los pedidos de ese Usuario

Alguna idea?
Gracias
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

enlazar 2 datagridview

Publicado por Andres Leonardo (1798 intervenciones) el 02/05/2019 19:21:24
debes hacer los pedidos..
yo tengo un formulario tabla usuarios se llenan todos los usuarios, pero al seleccionar 1 se me llenan todos los datos de ese usuario por el codigo usuario

que es lo que hice fue ..
.
Cargo el dato del codigo del cliente al escoger el dato en el data grid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'VB 2012 
    Private Sub DgvPersona_CellMouseClick(sender As Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DgvPersona.CellMouseClick
        Try
            Dim row As DataGridViewRow = Me.DgvPersona.CurrentRow
            Me.txtCodigoPersona.Text = CStr(row.Cells(0).Value).ToString  ' Aqui pongo el codigo que esta en la primnera columna por eso el 
 celda Cero ... de la persona en un txt y en el evento change del txt
             '  mando a llenar otro grid que en tu caso seria el detalle de los pedidos con el codigo de lciente entiendo...
        Catch ex As Exception
            Exit Sub
        End Try
 
    End Sub
 
 
 
  Private Sub txtSecuencial_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSecuencial.TextChanged
        If txtSecuencial.Text = 0 Then Exit Sub
        Dim objetoDatareader As OleDb.OleDbDataReader
        Dim ObjetoDatosPersona As New clsDatosPersona
        Try
            'creo un Objeto
            ObjetoDatosPersona.codigoPersona = Me.txtCodigoPersona.Text
            ObjetoDatosPersona.secuencial = Me.txtSecuencial.Text
            objetoDatareader = ObjetoDatosPersona.MantenimientoDatosPersona("C")
 
            If (ObjetoDatosPersona.IdError = 0) Then
                If objetoDatareader.Read Then
                    Dim reader = objetoDatareader
                    Me.cmbTipoContacto.SelectedValue = reader("TipoContacto")
                    Me.txtDescripcionDatoPersona.Text = reader("DescripcionDatoPersona")
                Else
                    MsgBox("Empleado consultado no Existe", MsgBoxStyle.Critical, "Error")
                End If
            Else
                MsgBox("Error" & ObjetoDatosPersona.DescripcionError, MsgBoxStyle.Critical, "Error En Ingreso")
            End If
        Catch ex As Exception
            MsgBox("Error de Aplicacion" & ex.Message, MsgBoxStyle.Critical, "Error En Ingreso")
        End Try
 
    End Sub
 
 
 
'mi codigo  esta en una aplicacion de tres capas y tengo una clase  que me hace estas busquedas dentro de la misma clase pero si para ti es complicado podrias es que con el codigo cargado en el txt solo mandes a hacer el select llenas el datareader y se lo asignas como sourse al grid.. 
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

enlazar 2 datagridview

Publicado por Jordi (14 intervenciones) el 02/05/2019 19:29:41
Buenas Andres
No me queda claro el codigo, donde pongo la consulta a las tablas?
Un saludo
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

enlazar 2 datagridview

Publicado por Andres Leonardo (1798 intervenciones) el 02/05/2019 21:22:30
El tema como te decia tenia mi consulta a nivel de SP enviando los parametros ....

seria algo asi ...

1
2
3
4
5
6
7
8
9
Private Sub txtSecuencial_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSecuencial.TextChanged
    If txtSecuencial.Text = 0 Then Exit Sub
    Dim objetoDatareader As OleDb.OleDbDataReader
    Dim ObjetoDatosPersona As New clsDatosPersona
 
      ''Aqui pones la consulta al data reader select datos de la tabla pedidas donde el id de cliente =  txttxtSecuencial
asignas el valor al data reader y luego lo haces llenar o lo pones como source al datagrid
 
End Sub

El tema es que depende como haces la estrucura de tu aplicacion va el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 22
Ha aumentado su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

enlazar 2 datagridview

Publicado por Jordi (14 intervenciones) el 03/05/2019 08:13:41
muchas gracias, lo probaré
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
Imágen de perfil de LUIS A. FRANCO R.

enlazar 2 datagridview

Publicado por LUIS A. FRANCO R. (93 intervenciones) el 05/05/2019 00:49:41
Otra idea es que pongas el segundo datagrid a consultar el nit de la seleccion del datagrid1.

Luis Franco
+51920068602
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