Buongiorno ho cercato nel forum prima di postare ma non ho trovato ciò che mi serve ma potrebbe essermi sfuggito, pertanto chiedo scusa se la mia domanda vi sembrerà banale.
Ho una combobox che viene caricata con una lista di oggetti (Group con 4 campi tra i quali c'è GroupName e IdGroup), di cui mostro solo un campo e mi serve poi conoscere il corrispondente valore posto in ValueMember.
La combobox è caricata e settata come segue nel load del form che la contiene:
cbGroupName.DataSource = GroupDBList.GetGroupListbyName ' fornisce una lista di oggetti tipo group
cbGroupName.DisplayMember = "GroupName"
cbGroupName.ValueMember = "Idgroup"
e mostra il primo elemento nella combobox correttamente.
Il form ha due proprietà public (ma devo decidere quale lasciare in base al funzionamento):
Public currentidgroup As Integer
Public Group As GroupCS
e viene aperto da altro form che gli passa sia un valore per
currentidgroup che un oggetto dello stesso tipo in
group.
Dopo aver caricato la combo vorrei poter selezionare l'elemento passato. Ho provato dapprima così:
If currentidgroup > 0 Then
cbGroupName.SelectedItem = currentidgroup
endif
ma l'evento:
cbGroupName_SelectedIndexChanged
non si verifica e rimane selezionato sempre e solo il primo elemento nella combo.
Ho provato allora con la proprietà:
cbGroupName.SelectedValue = currentidgroup
ma non mi risolve nulla.
Alla fine ho provato con il seguente codice:
If Group IsNot Nothing AndAlso Group.IdGroup > 0 Then
cbGroupName.SelectedItem = Group
Endif
ma senza soluzione di sorta. E nessuna scelta mi da errore per cui sembrerebbero tutte corrette ma nessuna mi mostra poi il valore che vorrei.
Vi chiedo cortesemente come si fa a selezionare un elemento di una combobox tramite codice? Qual'è il modo per farlo correttamente?
Grazie per il vostro prezioso aiuto.
PS: sto usando VS2012 ed il relativo testo di bochicchio ma non trovo quanto mi serve.
Modificato da alip1 il 12 aprile 2021 14:48 -