entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Recuperar los campos de una fila en un formulario VB.NET

Buenas tardes a todos.
Tengo un formulario en el que se muestra la información de una tabla de una base de datos a través de un DataGridView y un dataadapter.
La duda que tengo es de qué manera podría recuperar los valores de la fila seleccionada por el usuario al dar doble click sobre este dataGridView.

    Private Sub dtvDatos_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dtvDatos.CellDoubleClick
        TabEquipos.SelectedIndex = 1
        Dim columna As Integer = e.ColumnIndex
        Dim fila As Integer = e.RowIndex
        MsgBox("F=" & fila & " C=" & columna & "")
        Try
            Label1.Text = dtvDatos.Rows(fila).Cells(columna).Value()
        Catch ex As Exception
        End Try
    End Sub
End Class

Por su atención les doy las gracias.

1voto

carlossevi comentado

¿El código que has puesto no funciona? ¿Devuelve algún error?

1voto

pWolfman_furry29 comentado

Gracias por responder @carlossevi.
El código funciona para recuperar el valor de la columna y la celda, y mostrar sus respectivos índices.
La idea va por ahí, salvo que me haría falta recuperar toda la fila la tabla.

1voto

carlossevi comentado

Recuperar toda la fila: dtvDatos.Rows(fila); Ahora bien, ¿qué quieres hacer con esa fila?

1voto

pWolfman_furry29 comentado

Quiero recuperar esa información para aterrizarla en 3 etiquetas que correspondan a los campos de la tabla, al dar doble click @carlossevi.
Formulario de equipos con DataGridView

Para verlos de esta manera:
Recuperación de campos de datagridview

3votos

carlossevi comentado

No te debo estar entendido, porque la solución es la misma que pones tu arriba:

Label1.Text = dtvDatos.Rows(fila).Cells(columnaParaLabel1).Value()
Label2.Text = dtvDatos.Rows(fila).Cells(columnaParaLabel2).Value()
Label3.Text = dtvDatos.Rows(fila).Cells(columnaParaLabel3).Value()

2votos

pWolfman_furry29 comentado

En efecto tienes razón @carlossevi.
Lo único que me hacía falta era recuperar el índice de la columna para así poder definir toda la fila :D.

Label1.Text = dtvDatos.Rows(fila).Cells(columna).Value.ToString()
Label2.Text = dtvDatos.Rows(fila).Cells(columna + 1).Value.ToString()
Label3.Text = dtvDatos.Rows(fila).Cells(columna + 2).Value.ToString()

Muchas gracias por tu atención y apoyo. Un abrazo.

1 Respuesta

2votos

pWolfman_furry29 Puntos910

En efecto tienes razón @carlossevi.
Lo único que me hacía falta era recuperar el índice de la columna para así poder definir toda la fila :D.

Label1.Text = dtvDatos.Rows(fila).Cells(columna).Value.ToString()
Label2.Text = dtvDatos.Rows(fila).Cells(columna + 1).Value.ToString()
Label3.Text = dtvDatos.Rows(fila).Cells(columna + 2).Value.ToString()

Muchas gracias por tu atención y apoyo. Un abrazo.

1voto

Peter comentado

Gracias por compartir la solución!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta