none
Llenar Textbox al seleccionar un dato en un Combobox... RRS feed

  • Pregunta

  • Estimados,

    Tengo una aplicación web desarrollada en VB.NET y ASP.NET 2012 ambos, dentro de esta aplicación tengo un formulario el cual tiene un combobox cargado con datos desde SQL.

    Necesito poder traer ciertos datos desde SQL y al hacer la selección en el COMBOBOX que me llene los campos de texto solicitados.

    Es decir, si mi consulta fuera SELECT Rut, Nombre, Dirección, Telefono FROM DATOS WHERE Rut = (Selección del Combobox) que al realizar la selección me traiga los datos de la siguiente forma:

    cboRut = Dato Seleccionado en el combo
    txtNombre = Dato "Nombre" traído desde la consulta SQL
    txtDireccion = Dato "Dirección" traído desde la consulta SQL
    txtTelefono = Dato "Teléfono" traído desde la consulta SQL

    Saludos,
    Gabriel

    jueves, 10 de septiembre de 2015 13:27

Respuestas

  • Hola Gabriel,

    >> Es decir, si mi consulta fuera SELECT Rut, Nombre, Dirección, Telefono FROM DATOS WHERE Rut = (Selección del Combobox) que al realizar la selección me traiga los datos de la siguiente forma

     Parece que ya tienes la respuesta, con el comando (SqlCommand) ejecuta un ExecuteReader, y ahí lees cada columna y la asignas a los controles.

    Entiendo que no sabes como hacer esto, así que aquí te dejo un ejemplo:

    string SQL = "SELECT Rut, Nombre, Dirección, Telefono FROM DATOS WHERE Rut = @selectedValue"; using (var con = new SqlConnection(cnString)) { con.Open(); try { using (var oCommand = new SqlCommand(SQL, con)) {

    oCommand.Parameters.AddWithValue("@selecedValue", combobox.selectedvalue); using (var oReader = oCommand.ExecuteReader()) { while (oReader.Read()) { cboRut = oReader.GetString(0),

    txtNombre = oReader.Getstring(1), .... } } } } finally { con.Close(); } }


    Espero que la respuesta te ayude.

    Saludos,

    @norrojas


    jueves, 10 de septiembre de 2015 13:40

Todas las respuestas

  • Hola Gabriel,

    >> Es decir, si mi consulta fuera SELECT Rut, Nombre, Dirección, Telefono FROM DATOS WHERE Rut = (Selección del Combobox) que al realizar la selección me traiga los datos de la siguiente forma

     Parece que ya tienes la respuesta, con el comando (SqlCommand) ejecuta un ExecuteReader, y ahí lees cada columna y la asignas a los controles.

    Entiendo que no sabes como hacer esto, así que aquí te dejo un ejemplo:

    string SQL = "SELECT Rut, Nombre, Dirección, Telefono FROM DATOS WHERE Rut = @selectedValue"; using (var con = new SqlConnection(cnString)) { con.Open(); try { using (var oCommand = new SqlCommand(SQL, con)) {

    oCommand.Parameters.AddWithValue("@selecedValue", combobox.selectedvalue); using (var oReader = oCommand.ExecuteReader()) { while (oReader.Read()) { cboRut = oReader.GetString(0),

    txtNombre = oReader.Getstring(1), .... } } } } finally { con.Close(); } }


    Espero que la respuesta te ayude.

    Saludos,

    @norrojas


    jueves, 10 de septiembre de 2015 13:40
  • Usa un datareader y un sqlcommand de esta forma:

    Private Sub comboboxcargar() cmd.CommandText = "Select Rut, Nombre, Direccion,Telefono FROM Datos WHERE Rut= '" + TUCOMBOAQUI.SelectedValue + "' " cmd.Connection = conexion conexion.Open() dr = cmd.ExecuteReader If dr.Read Then lblrut.Text = dr(0).ToString

    lblnombre.text=dr(1).tostring

    lbldireccion.text=dr(2).tostring

    lbltelefono.text=dr(3).tostring

    End If dr.Close() tuconexion.Close() End Sub

    Luego en el evento indexchanged del combo lo llenas asi:

     Protected Sub TUCOMBOBOX_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TUCOMBOBOX.SelectedIndexChanged
            comboboxcargar()
        End Sub

    Y Listo , no te olvides que el combobox o dropdown debe tener activado el postback.

    jueves, 10 de septiembre de 2015 15:23