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.

carlossevi comentado Jun 7

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

pWolfman_furry29 comentado Jun 7

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.

carlossevi comentado Jun 7

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

pWolfman_furry29 comentado Jun 7

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

carlossevi comentado Jun 7

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()

pWolfman_furry29 comentado Jun 7

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.

Peter comentado Jun 8

Gracias por compartir la solución!

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

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

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

Conecta