none
Abrir formulario y llenar cajas de texto al dar clic en una fila del gridview RRS feed

  • Pregunta

  • Buenas tardes tengo la siguiente problematica:

    Tengo un boton que al hacer clic sobre el me muestra los datos de una consulta SQL en un DataGridView , hasta el momento todo bien pero necesito que cuando yo me posicione sobre una fila del DataGrid y de clic sobre un boton de Modificar me abra un formulario y me muestre en TextBox los datos de esa fila del DataGridView, podrian ayudarme ?

    De antemano muchas gracias

    miércoles, 6 de enero de 2016 17:51

Respuestas

  • Estimado Gspindola, podrías guiarte del siguiente ejemplo, en este ejemplo se realiza la funcionalidad que estas necesitando:

    'Form 01
    
    Imports System.Data
    Imports System.Data.SqlClient
    
    Public Class Form1
    
        Dim tbl As New DataTable
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            Using conexion As New SqlConnection("Server=HOSTNAME;Database=DATABASE;Integrated Security = SSPI")
    
                conexion.Open()
    
                Dim da As New SqlDataAdapter("select * from products", conexion)
    
                da.Fill(tbl)
    
                conexion.Close()
    
                DataGridView1.DataSource = tbl
    
            End Using
    
        End Sub
    
        Private Sub btnModificar_Click(sender As Object, e As EventArgs) Handles btnModificar.Click
    
            Dim frm2 As New Form2
            frm2.Id = Convert.ToInt32(DataGridView1.CurrentRow.Cells("ProductId").Value)
            frm2.Producto = DataGridView1.CurrentRow.Cells("ProductName").Value.ToString()
            frm2.Precio = Convert.ToDouble(DataGridView1.CurrentRow.Cells("UnitPrice").Value)
            frm2.Cantidad = Convert.ToInt32(DataGridView1.CurrentRow.Cells("UnitsInStock").Value)
            frm2.ShowDialog()
    
        End Sub
    
    End Class
    
    
    'Form 02
    
    Public Class Form2
    
        Public Id As Integer
        Public Producto As String
        Public Precio As Double
        Public Cantidad As Integer
    
        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            lblCodigo.Text = Id.ToString()
            txtProducto.Text = Producto
            txtPrecio.Text = Precio.ToString()
            txtCantidad.Text = Cantidad.ToString()
    
        End Sub
    
        Private Sub btnActualizar_Click(sender As Object, e As EventArgs) Handles btnActualizar.Click
    
            'Aqui programarias la parte de actualizar el registro seleccionado
    
        End Sub
    
    End Class

    Espero haberte ayudado. Saludos.


    jueves, 7 de enero de 2016 0:31
  • "Gspindola" preguntó:

    > necesito que cuando yo me posicione sobre una fila del DataGrid y de clic
    > sobre un boton de Modificar me abra un formulario y me muestre en TextBox
    > los datos de esa fila del DataGridView, ...

    Hola:

    Échale un vistazo al siguiente artículo:

    Cómo pasar datos a un formulario

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    jueves, 7 de enero de 2016 6:01
    Moderador

Todas las respuestas

  • Si pudieran ayudarme?
    miércoles, 6 de enero de 2016 20:01
  • Estimado Gspindola, podrías guiarte del siguiente ejemplo, en este ejemplo se realiza la funcionalidad que estas necesitando:

    'Form 01
    
    Imports System.Data
    Imports System.Data.SqlClient
    
    Public Class Form1
    
        Dim tbl As New DataTable
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            Using conexion As New SqlConnection("Server=HOSTNAME;Database=DATABASE;Integrated Security = SSPI")
    
                conexion.Open()
    
                Dim da As New SqlDataAdapter("select * from products", conexion)
    
                da.Fill(tbl)
    
                conexion.Close()
    
                DataGridView1.DataSource = tbl
    
            End Using
    
        End Sub
    
        Private Sub btnModificar_Click(sender As Object, e As EventArgs) Handles btnModificar.Click
    
            Dim frm2 As New Form2
            frm2.Id = Convert.ToInt32(DataGridView1.CurrentRow.Cells("ProductId").Value)
            frm2.Producto = DataGridView1.CurrentRow.Cells("ProductName").Value.ToString()
            frm2.Precio = Convert.ToDouble(DataGridView1.CurrentRow.Cells("UnitPrice").Value)
            frm2.Cantidad = Convert.ToInt32(DataGridView1.CurrentRow.Cells("UnitsInStock").Value)
            frm2.ShowDialog()
    
        End Sub
    
    End Class
    
    
    'Form 02
    
    Public Class Form2
    
        Public Id As Integer
        Public Producto As String
        Public Precio As Double
        Public Cantidad As Integer
    
        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            lblCodigo.Text = Id.ToString()
            txtProducto.Text = Producto
            txtPrecio.Text = Precio.ToString()
            txtCantidad.Text = Cantidad.ToString()
    
        End Sub
    
        Private Sub btnActualizar_Click(sender As Object, e As EventArgs) Handles btnActualizar.Click
    
            'Aqui programarias la parte de actualizar el registro seleccionado
    
        End Sub
    
    End Class

    Espero haberte ayudado. Saludos.


    jueves, 7 de enero de 2016 0:31
  • Imports System.Data
    Imports System.Data.SqlClient
    Public Class Form10
        Dim cn As New SqlConnection("Data Source=.;Initial Catalog=AM;Integrated Security=True")
      
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            Dim da As New SqlDataAdapter("SELECT ndocclie as [Nº de documento], desclie as [Tipo de cliente], iddoc as  [Tipo de documento],razonsocial [Razon Social],domfiscal1 [Domicilio Fiscal 1],domfiscal2 [Domicilio Fiscal 2],domfiscal3 [Domicilio Fiscal 3],domfiscal4 [Domicilio Fiscal 4],domfiscal5 [Domicilio Fiscal 5] FROM cliente where razonsocial LIKE '%" & TextBox1.Text & "%'", cn)
            Dim dt As New DataTable
            da.Fill(dt)
            Me.DataGridViewX1.DataSource = dt
        End Sub
    
        Private Sub BotonRibbon1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotonRibbon1.Click
            Form5.Show()
        End Sub
    
        Private Sub DataGridViewX1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridViewX1.DoubleClick
            Form9.TextBox1.Text = Me.DataGridViewX1.CurrentRow.Cells(3).Value.ToString
            Form9.TextBox2.Text = Me.DataGridViewX1.CurrentRow.Cells(0).Value.ToString
            Form9.TextBox3.Text = Me.DataGridViewX1.CurrentRow.Cells(4).Value.ToString
            Me.Close()
        End Sub
    End Class

    Espero que sea de apoyo

    David Mayurí Rojas

    jueves, 7 de enero de 2016 1:09
  • "Gspindola" preguntó:

    > necesito que cuando yo me posicione sobre una fila del DataGrid y de clic
    > sobre un boton de Modificar me abra un formulario y me muestre en TextBox
    > los datos de esa fila del DataGridView, ...

    Hola:

    Échale un vistazo al siguiente artículo:

    Cómo pasar datos a un formulario

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    jueves, 7 de enero de 2016 6:01
    Moderador