Visual Basic.NET - Cambiar datos en el datagridview de un campo con de llave foránea

   
Vista:

Cambiar datos en el datagridview de un campo con de llave foránea

Publicado por JOSE LUIS (2 intervenciones) el 23/06/2017 16:50:15
spero me puedan orientar, como todo buen principiante tengo el siguiente problema:

Tengo la tabla empleado donde en un combobox importa los estados con llave foránea de la tabla estado, al momento de guardar guarda con el id en la tabla empleado en su respectivo campo. Pero al momento de mostrarlo en el datagridview, quiero que me aparezca el nombre del estdo, ya que me esta apareciendo el numero de id. Espero me puedan apoyar con las líneas necesaras para poder lograrlo.

Dejo código que estoy utilizando. La llamada a sql server, y la llamada al formulario de la función.
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
Private Sub Mostrar()
        '-----------------------------------------------------------------------
        ' Mostrar EMPLEADOS registros en datagridview
        '-----------------------------------------------------------------------
        Try
            dt = func.Mostrar
            If dt.Rows.Count <> 0 Then
                DGVEmpleado.DataSource = dt
                DGVEmpleado.ColumnHeadersVisible = True
                inexistente.Visible = False
            Else
                DGVEmpleado.DataSource = Nothing
                DGVEmpleado.ColumnHeadersVisible = False
                inexistente.Visible = True
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
end sub
 
Public Function Mostrar()
        '-----------------------------------------
        '   llamdo a sql server para mostrar empleado
        '-----------------------------------------
        Try
            Conectado()
            cmd = New SqlCommand("mostrar_empleado")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = cnn
            If cmd.ExecuteNonQuery Then
                Dim dt As New DataTable
                Dim da As New SqlDataAdapter(cmd)
                da.Fill(dt)
                Return dt
            Else
                Return Nothing
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        Finally
            Desconectado()
        End Try
SIGUIENDO
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

Cambiar datos en el datagridview de un campo con de llave foránea

Publicado por Diego (149 intervenciones) el 28/06/2017 03:45:00
Hola José Luis, veo que utilizas un storeProcedure, pues bueno, en el mismo, deberias incluir un INNER JOIN de la tabla empleados, enlazando el campo id_estado, con el id en la tabla estado y obtener el campo "Descripcion del estado" para mostrar en tu DGV. Si no tienes acceso a modificar un Procedimiento almacenado en la DB, podrías intentar, crear un campo en la datatable (DT) y recorrer registro x registro y llenar ese campo con la descripcion que corresponda, luego ocultar la columna de id de estado.

Espero haberme explicado bien. Suerte y +Bytes.
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

Cambiar datos en el datagridview de un campo con de llave foránea

Publicado por JOSE LUIS (2 intervenciones) el 26/07/2017 21:13:25
Gracias por la respuesta me funciona.
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
Revisar política de publicidad