Come da oggetto, ho la necessità di popolare una combobox dinamicamente prendendo i dati da un db ma devo farlo da codice poiché uso la versione express e non posso creare un'oggetto usando la connessione via odbc.
Sono riuscito ha eseguire parte del mio percorso ma credo mi sfugga un dettaglio perché riesco a popolare la combo box ma risulta popolata con l'ultimo elemento della collezione.
Il codice è questo:
Classe che identifica il tipo:
codice:
Public Class tipologia
Private id_tipologia As String
Private descrizione_tipologia As String
Property tipologia() As String
Get
Return id_tipologia
End Get
Set(ByVal value As String)
id_tipologia = value
End Set
End Property
Property descrizione() As String
Get
Return descrizione_tipologia
End Get
Set(ByVal value As String)
descrizione_tipologia = value
End Set
End Property
End Class
Sub per caricare la combo:
codice:
Private Sub ftmAttivazioneTF_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim coll As New Collections.Generic.List(Of tipologia)
Dim tipo As New tipologia()
sql = "select id_tipo_elaborazione,descrizione from cen_tipi_elaborazione order by id_tipo_elaborazione"
bind() 'metodo per popolare un DataTableReader nominato dr
While (dr.Read())
tipo.tipologia = dr("id_tipo_elaborazione")
tipo.descrizione = dr("descrizione")
coll.Add(tipo)
End While
cmbTipologia.DataSource = coll
cmbTipologia.DisplayMember = "descrizione"
cmbTipologia.ValueMember = "tipologia"
End Sub
il risultato è una combobox con 17 elementi ma tutti con chiave e valore relativi all'ultimo elemento della lista.