none
Consulta sobre datagridview RRS feed

  • Pregunta

  • Hola que tal, estoy haciendo un sistema de taller de reparación, y me encontré con un problema relacionado a la carga de datos en un dgv, cuando cargo los datos tengo que cerrar el formulario (listado de marcas) y volverlo a abrir para que aparezcan los datos, he probado varias cosas y nada . adjunto la imagen y el codigo del boton aceptar , espero sus respuestas gracias...

    Private Sub btnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAceptar.Click

    If txtMarca.Text = "" Then
    MsgBox("Debe Completarse el tipo de equipo", MsgBoxStyle.Critical, "Aviso")
    txtMarca.Select()
    Else
    Dim vMarca As String
    vMarca = txtMarca.Text
    Cmd.Connection = Conn
    Cmd.CommandType = CommandType.Text
    sql = ""
    sql = "INSERT INTO TABLAMARCA (NOMBRE) VALUES ('" & vMarca & "')"
    Cmd.CommandText = sql
    Try
    Cmd.ExecuteNonQuery()
    MsgBox("Item agregado correctamente") 
    Catch ex As Exception
    MsgBox(ex.ToString)
    End Try
    Reset()
    Close()
    End If
    End Sub

    martes, 10 de noviembre de 2015 13:16

Respuestas

  • Gracias por responder, lo que hice fue en el modulo que tengo de conexión agregue este codigo 

    Sub Llena_dgvmarcas()

    'Borra los datos dgvTrabmarcas
    frmTrabMarcas.dgvTrabMarcas.DataSource = Nothing
    frmTrabMarcas.dgvTrabMarcas.Refresh()

    'Carga datos en el dgvTrabmarcas
    Dim ds As New DataSet
    Dim Dt As New DataTable
    sql = ""
    sql = "Select Nombre from TablaMarca"
    Dim adp As New System.Data.SqlClient.SqlDataAdapter(sql, Conn)
    ds.Tables.Add("DsTablaMarca")
    adp.Fill(ds.Tables("DsTablaMarca"))
    frmTrabMarcas.dgvTrabMarcas.DataSource = ds.Tables("DsTablaMarca")
    End Sub

    y lo llamo desde el formulario correspondiente.
    miércoles, 11 de noviembre de 2015 16:06

Todas las respuestas

  • lo que estas diciendo es que cuando el usuario guarda algun dato en la base de datos quieres que inmediatamente se muestre en tu DTGV?

    por que no haces una consulta/busqueda después de hacer el insert?

    la mejor forma creo que seria haciendo un DatagridView.rows.clear() y después hacer el SELECT * FROM ... etc

    otra forma que se me puede ocurrir pero que se me hace un poco rara, seria obtener el ID con el que se guardo el registro y hacer la consulta de ese registro e insertarla hasta abajo del DTGV, asi si tienes muchos datos no tardaría en volver a llenarse el DTGV pero yo me quedo con la primera opción.

    martes, 10 de noviembre de 2015 14:47
  • Gracias por responder, lo que hice fue en el modulo que tengo de conexión agregue este codigo 

    Sub Llena_dgvmarcas()

    'Borra los datos dgvTrabmarcas
    frmTrabMarcas.dgvTrabMarcas.DataSource = Nothing
    frmTrabMarcas.dgvTrabMarcas.Refresh()

    'Carga datos en el dgvTrabmarcas
    Dim ds As New DataSet
    Dim Dt As New DataTable
    sql = ""
    sql = "Select Nombre from TablaMarca"
    Dim adp As New System.Data.SqlClient.SqlDataAdapter(sql, Conn)
    ds.Tables.Add("DsTablaMarca")
    adp.Fill(ds.Tables("DsTablaMarca"))
    frmTrabMarcas.dgvTrabMarcas.DataSource = ds.Tables("DsTablaMarca")
    End Sub

    y lo llamo desde el formulario correspondiente.
    miércoles, 11 de noviembre de 2015 16:06