Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buon Pomeriggio
Scusatemi non so perchè e non riesco a vedere dove sbaglio sarà la stanchezza.
in un semplice form ho una combobox di tipo DropDownList denominata cboStatoCon. Al load del form chiamo una semplice routine che mi carica i dati da un db tramite un'apposita procedura. Utilizzo la classe TipoStatoCon che ha solo 2 proprietà: IdStato (integer) e TipoStato (string).
Questa la routine con cui popolo la combo
La combo si popola. Ora in un'altro punto della gestione dei dati faccio questa operazione:
Codice sorgente - presumibilmente C# / VB.NET
cboStatoCon.SelectedValue = Causa.fkStato ' fkstato é un valore integer es. 3
fkstato è un valore intero che corrisponde necessariamente ad un valore IDStato che è presente nella combo (quando vado a vedere tutti gli items della combo c'é). L'istruzione mi dovrebbe in teoria selezionarmi l'item corrispondente al valore, invece non mi seleziona nulla ed in fase di debugging il selectedValue risulta nothing. Non riesco a capire come mai e non riesco a trovare nel web alcuna risposta adeguata. L'istruzione in base ai vari esempi letti dovrebbe essere corretta invece non mi seleziona nulla.
Grazie a quanti vorranno darmi un aiuto.
Perché nella combo SelectedValue non è utilizzata come proprietà. ma per eventuali estensioni del controllo.
La ComboBox non è altro che una TextBox con implementazione di una ListBox Affiancata.
Quindi come fai in una textbox a recuperare cosa viene mostrato?
valore= CombBox1.Text
viceversa, vuoi mostrare testo sulla combobox
ComboBox1.Text = "blablabla"
Quel SelectedValue molto probabilmente è riferito alla ListBox presente nel Controllo ComboBox
Il titolo del topic invece il titolo ComboBox come selezionare un elemento
Come selezionare un elemento, bhe...
Come detto sopra, Essendo una TextBox con una ListBox, gli item sono classificati come Object.
Quindi non puoi fare una ricerca basata su un ID preciso, ma o sul tipo inserito nella ComboBox
Esempio,
ComboBox1 ha questi Items [ a,b,c,d,e,f,g,h,i,1,2,3,4,5,6,7,8,9,0 ]
posso fare un controllo del tipo cerca "h" nella ComboBox
Codice sorgente - presumibilmente VB.NET
Dim cerca AsString="h"
ForEach s In comboBox1.Items
If s = cerca Then
MessageBox.Show("Trovato!")
EndIf
Next
Nel caso invece, vuoi fare un qualcosa di più complesso, devi organizzare su ID e strutture e liste.
In Modo Attenzione All'evento comboBox1_TextChanged e non comboBox1_SelectedIndexChanged quando viene cambiato il testo nella TextBox, puoi cercare il valore in una lista ed ottenere il rispettivo ID.
Ultima modifica effettuata da Thejuster il 19/06/2021 alle 19:58
Grazie Carlo sempre gentile e preciso nelle risposte.
Io pensavo che essendo gli items degli oggetti con due proprietà ed utilizzando cboStatoCon.ValueMember = "IdStato"
poi con selectedValue potessi selezionare l'item con l'Id passato.... evidentemente non è così.
Ho risolto con un ciclo opportuno in questo modo:
Io pensavo che essendo gli items degli oggetti ....
Non riesco a capire, non dovresti avere questo problema.
Chiarisci un po', mostra la classe, il codice con cui popoli la lista, se vuoi posta uno zip con parte del codice che non va.
Ultima modifica effettuata da nessuno il 20/06/2021 alle 13:02
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.