Añadir un Item(Value, Text) a un ComboBox
Artículo por Club Developers · 11 mayo 2006
2644 vistas
Veamos cómo hacelo mediante un ejemplo concreto. Imaginemos que tenemos una lista de artÃculos clasificados por familia y que queremos usar un ComboBox que contenga la lista de las familias para filtrar la lista de artÃculos. También queremos añadir la opción de "<Todas>" a la lista de familias del ComboBox para poder anular el filtro.
Para empezar, vamos a añadir una clase al código del WinForm:
Ahora creamos la lista de familias en el ComboBox con la ayuda de una tabla que contiene 2 campos (PrimaryKey, Familia):
Para recuperar los datos de cada Item tendremos que hacer lo siguiente:
La potencia de este método es que podemos añadir tantos parámetros como queramos a la clase ListItem.
Para empezar, vamos a añadir una clase al código del WinForm:
vbnet
Public Class ListItem     Public Value As Object     Public Text As String     Public Sub New(ByVal NewValue As Object, ByVal NewText As String)       Value = NewValue       Text = NewText     End Sub     Public Overrides Function ToString() As String       Return Text     End Function End Class
Ahora creamos la lista de familias en el ComboBox con la ayuda de una tabla que contiene 2 campos (PrimaryKey, Familia):
vbnet
Dim myTable as DataTable Dim item As DataRow '**** aquà el código para rellenar el DataTable MyComboBox.Items.Add(New ListItem("0", "<Todas>"))  For Each item In myTable.Rows    MyComboBox.Items.Add(New ListItem(item("PrimaryKey"), item("Familia")))  Next MyComboBox.SelectedIndex = 0
Para recuperar los datos de cada Item tendremos que hacer lo siguiente:
vbnet
Dim myValue as Integer Dim myText as String myValue=CType(myComboBox.SelectedItem, ListItem).Value myText=CType(myComboBox.SelectedItem, ListItem).Text
La potencia de este método es que podemos añadir tantos parámetros como queramos a la clase ListItem.