Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

Estas en el tema de ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox? en el foro de .NET en Foros del Web. Hola a todos, ¿Alguien Tendrá un ejemplo de código en VB .NET de como llenar varios textbox con registros de una base de datos en ...
  #1 (permalink)  
Antiguo 29/07/2011, 15:07
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 0
¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

Hola a todos,

¿Alguien Tendrá un ejemplo de código en VB .NET de como llenar varios textbox con registros de una base de datos en SQL Server al seleccionar un registro de un combobox?

Hasta el momento puedo hacer que se desplieguen los datos en el combobox para poder seleccionar cualquiera pero no tengo idea de como hacer que los textbox se llenen con los datos complementarios de la tabla.

La tabla tiene los siguientes campos:

ID
Clave
Nombre
Apellido
Telefono
E-Mail


En el combobox hago que aparezcan los datos del campo Clave y la intención es que los demas datos aparezcan en los textbox al elejir cualquier registro del combobox, no se si me explique bien, pero agradecería mucho si alguien puede auxiliarme con esto.

Última edición por manuelivg; 29/07/2011 a las 15:12
  #2 (permalink)  
Antiguo 29/07/2011, 16:03
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 4 meses
Puntos: 33
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

si tienes todos los campos en el dataset que das como origen al combobox puedes consultar con el combobox en si

me.txtNombre.text = me.cmbUser.Datasource.rows(me.cmbUser.Selectedinde x)("Nombre")

pruebalo
  #3 (permalink)  
Antiguo 29/07/2011, 16:45
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

No estoy seguro de donde colocar ese código, pero lo coloqué en la sección del combobox y quedó de la siguiente manera:

-------------------------------------------------------------------------
Private Sub ClaveComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClaveComboBox.SelectedIndexChanged

Me.TextBox1.Text = Me.cmbUser.Datasource.rows(Me.cmbUser.Selectedinde x)("Nombre")
End Sub
-------------------------------------------------------------------------

Sin embargo me aparece un error, que es el siguiente:

'cmbUser' no es un miembro de WindowsApplication1.form1


En esta parte si estoy confundido
  #4 (permalink)  
Antiguo 29/07/2011, 16:56
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 4 meses
Puntos: 33
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

es que debiste cambiar el nombre del combobox a el tuyo

ClaveComboBox
  #5 (permalink)  
Antiguo 29/07/2011, 17:11
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

ah ya veo, perdon por no darme cuenta pero aún me falta un buen por aprender, ya lo cambié por el nombre del combobox

---------------------------------------------


Private Sub ClaveComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClaveComboBox.SelectedIndexChanged

Me.TextBox1.Text = Me.ClaveComboBox.DataSource.rows(Me.ClaveComboBox. SelectedIndex)("Nombre")
End Sub

-------------------------------------------------



pero al ejecutarlo me aparece el siguiente mensaje:


No se encuentra el miembro público 'rows' en el tipo 'BindingSource'


Seguro que algo estoy haciendo mal la pregunta es ¿Que podría ser?
  #6 (permalink)  
Antiguo 29/07/2011, 17:31
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 4 meses
Puntos: 33
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

Ojo que tu query que llena tu combobox tiene que traer todas las columnas no solo dos...
si es asi prueba con
Me.TextBox1.Text = CType(Me.ClaveComboBox.DataSource,Datatable).rows( Me.ClaveComboBox. SelectedIndex)("Nombre")
  #7 (permalink)  
Antiguo 29/07/2011, 17:36
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 13 años, 4 meses
Puntos: 33
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

yo por ejemplo hago esto

Código vb:
Ver original
  1. Dim da As New SqlDataAdapter("select * from TBL_MEM_CLIENTES where CL_MEMBRESIA=" & Trim(Me.txt_membresia.Text), conexion_BD)
  2.             da.Fill(ds)
  3.  txt_1_nom.Text = ds.Tables(0).Rows(0).Item("CL_1_NOM").ToString
  4.             txt_2_nom.Text = ds.Tables(0).Rows(0).Item("CL_2_NOM").ToString
  5.             txt_1_ap.Text = ds.Tables(0).Rows(0).Item("CL_1_AP").ToString
  6.             txt_2_ap.Text = ds.Tables(0).Rows(0).Item("CL_2_AP").ToString
  7.             txt_rfc.Text = ds.Tables(0).Rows(0).Item("CL_RFC").ToString
  8.             txt_calle.Text = ds.Tables(0).Rows(0).Item("CL_CALLE").ToString
  #8 (permalink)  
Antiguo 29/07/2011, 17:39
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 4 meses
Puntos: 33
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

es un codigo valido, pero la gracias ADO es el manejo de datos desconectado mientras menos viajes a la base de datos tengas mejor el performance
  #9 (permalink)  
Antiguo 30/07/2011, 09:09
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

Saludos HaverRamirez y rikakashi,

1.- Realicé la prueba con el codigo de HaverRamirez quedando al final de esta forma (Anexo código completo):


Public Class Form8

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.TextBox1.Text = CType(Me.ComboBox1.DataSource, DataTable).Rows(Me.ComboBox1.SelectedIndex)("Nombr e")

End Sub

Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Circuito.CI_INTERMEDIO' Puede moverla o quitarla según sea necesario.
Me.CI_INTERMEDIOTableAdapter.Fill(Me.Circuito.CI_I NTERMEDIO)

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

End Sub

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged

End Sub

Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

End Sub
End Class

Sin embargo me aparece el siguiente error:


No se puede convertir un objeto de tipo 'System.Windows.Forms.BindingSource' al tipo 'System.Data.DataTable'.

2.- rikakashi no entiendo la forma que me comentas, ¿¿¿es posible que puedas explicarla como dicen por ahí con palitos y manzanitas???

Agradezco la atención y la paciencia de ambos
  #10 (permalink)  
Antiguo 31/07/2011, 18:21
 
Fecha de Ingreso: junio-2011
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: ¿Como Llenar Textbox al Seleccionar un Dato de un Combobox?

Te recomiendo que primero empieces viendo estos videos para comprender bien la estructura de los datos... Vas a saber que es lo que contiene un DataSet, la función del Binding Source, y el Table Adapter (Inglés pero fácil de entender)

[URL="http://msdn.microsoft.com/en-us/vbasic/bb466226.aspx"]http://msdn.microsoft.com/en-us/vbasic/bb466226.aspx[/URL]

Por cierto, lo que vos querés hacer seguro lo encontrás en uno de los videos que se llama Lookup, y con un poquito de código lo conseguis

Edito: Te dejo un pequeño código que no se si te servirá perdón por no leer todas las respuestas estoy con poco tiempo

Código Visual Basic.NET:
Ver original
  1. dim numempleado As Integer
  2. For Each empleado As EmpleadosDataSet.EmpleadosRow In EmpleadosDataSet.Empleados
  3.             If NombreComboBox.Text = empleado.Nombre.ToString Then
  4.                 numempleado = empleado.IdEmpleado 'Lo encontramos! (Existe si o si porque es una lista del dataset con los nombres existentes)
  5.             End If
  6. Next
  7. txtIdEmpleado.Text=numempleado

Seguro se puede mejorar para no recorrer el DataSet entero, pero no me acuerdo como se hace, pero de ahi podés sacar todos los atributos de un empleado en particular (aunque con la desventaja que te mencioné)

Última edición por CristhianUNSa; 31/07/2011 a las 18:37

Etiquetas: dato, llenar, seleccionar, sql, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:51.