Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - ComboBox - Selezione di una voce tramite codice a runtime
Forum - C# / VB.NET - ComboBox - Selezione di una voce tramite codice a runtime

Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 12:04
Lunedì, 12/04/2021
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 così nel load del form che la contiene:

Codice sorgente - presumibilmente Plain Text

  1. cbGroupName.DataSource = GroupDBList.GetGroupListbyName  ' fornisce una lista di oggetti tipo group
  2.       cbGroupName.DisplayMember = "GroupName"
  3.       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):
Codice sorgente - presumibilmente VB.NET

  1. Public currentidgroup As Integer
  2.    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ì:
Codice sorgente - presumibilmente C# / VB.NET

  1. If currentidgroup  > 0 Then
  2.          cbGroupName.SelectedItem = currentidgroup
  3.        
  4.          endif



ma l'evento
Codice sorgente - presumibilmente Plain Text

  1. cbGroupName_SelectedIndexChanged

non si verifica e rimane selezionato sempre e solo il primo elemento nella combo.

Ho provato allora con la proprietà
Codice sorgente - presumibilmente Plain Text

  1. cbGroupName.SelectedValue = currentidgroup


ma non mi risolve nulla. Alla fine ho provato con il seguente codice:
Codice sorgente - presumibilmente VB.NET

  1. If Group IsNot Nothing AndAlso Group.IdGroup > 0 Then
  2.              cbGroupName.SelectedItem = Group
  3.          Endif


ma senza soluzione di sorta.

Vi chiedo cortesemente come si fa a selezionare un elemento di una combobox tramite codice? Qual'è il modo per farlo correttamente?
Grazie a quanti gentilmente vorranno aiutarmi.



Ultima modifica effettuata da alip1 il 12/04/2021 alle 13:58
PM Quote