Añadir un Item(Value, Text) a un ComboBox
Artículo por Club Developers · 11 May 2006
3036 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.


