Combinar un ComboBox y un TextBox con diferentes columnas de una BD
A peticion de Ariel, me complace compartir este sencillo ejemplo de cómo enlazar el Combobox visualizando el valor de una columna asignando el conocido ‘DisplayMember’ y obteniendo el valor de otra columna con su ‘ValueMember’. De esa forma entre otras muchas aplicaciones, lo tendremos disponible y podremos visualizarlo en un textbox por poner un ejemplo.
Public Class Form1
Private MiComboBox As New ComboBox
Private MiTextBox As New TextBox
Private Sub Form1_Load(... ..) Handles MyBase.Load
'
' Simular tabla Maestros
'
Dim Maestros As New DataTable("Maestro")
Maestros.Columns.Add("Nombre")
Maestros.Columns.Add("Matricula")
Maestros.Rows.Add("Juan Jose", "1001 BCN")
Maestros.Rows.Add("Alberto Juan", "2002 ABC")
Maestros.Rows.Add("Antonio Miguel", "3003 NJR")
Maestros.Rows.Add("Jose Maria", "4004 FCB")
'
' Construir el DataSet
'
Dim MiDataSet As New DataSet
MiDataSet.Tables.Add(Maestros)
'
' Añadir un 'ComboBox'
' Conteniendo la tabla 'Maestro'
' mostrando la columna 'Nombre'
' y señalando como valor a la matricula
'
MiComboBox.DisplayMember = "Nombre"
MiComboBox.ValueMember = "Matricula"
MiComboBox.DataSource = MiDataSet.Tables("Maestro")
MiComboBox.Dock = DockStyle.Top
Me.Controls.Add(MiComboBox)
AddHandler MiComboBox.SelectedIndexChanged, AddressOf ActualizarTextBox
MiTextBox.Dock = DockStyle.Bottom
Me.Controls.Add(MiTextBox)
ActualizarTextBox()
End Sub
'
' Mover el valor seleccionado del combo al textbox
Private Sub ActualizarTextBox()
MiTextBox.Text = MiComboBox.SelectedValue
End Sub
End Class