Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
SelectedValue combobox
lunedì 15 marzo 2010 - 16.33
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
fabiana83
Profilo
| Newbie
29
messaggi | Data Invio:
lun 15 mar 2010 - 16:33
Ciao a tutti,
spero mi possiate aiutare. Sto imparando il vb.net ma ho un problema su una combobox. Devo visualizzare in questa combobox i dati di una tabella che contiene una colonna id e una colonna nome. Ho bisogno di salvare in una variabile nell'evento SelectedIndexChanged l'id del nome scelto nella combo.Ho visto molti esempi sul web e questo è quello che sono riuscita a fare per popolare la combo:
Dim adapter As New SqlDataAdapter
adapter.SelectCommand = New SqlCommand("SELECT id_commessa, commessa FROM TCommessa ORDER BY commessa", con)
adapter.Fill(dataset)
CommessaComboBox.DataSource = dataset.Tables(0)
CommessaComboBox.DisplayMember = "commessa"
CommessaComboBox.ValueMember = "id_commessa"
Nell'evento SelectedIndexChanged invece avevo messo:
Dim id As string
id = CommessaComboBox.SelectedValue.tostring
poi avrei convertito da stringa a integer x ottenere l'id in formato numerico
Ma id mi viene valorizzato non con l'id ma con system.data.datarowview
Sto facendo parecchia confusione credo. Potete darmi qualche indicazione?
Grazie, ciao
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
lun 15 mar 2010 - 17:34
Ciao.
Non funziona perchè quando associ il datasource alla comboBox, scatena per ogni riga gli eventi selectIndexChanged e SelectedValueChanged. Per ovviare al problema fai in questo modo:
1 - dichiarati una variabile di classe di tipo booleana. (una variabile visibile in tutti i metodi della classe)
2 - Prima di riempire la combobox imposta questa variabile a true
3 - dopo aver settato tutti i parametri della combo (dataSource, DisplayMember e ValueMember) imposta questa variabile a False
4 - Nell'evento SelectIndexChange prima di leggere Combo.SelectValue fai il controllo: if variabile = false
in questo modo funziona alla grande.
ciao.
Cristian Barca
fabiana83
Profilo
| Newbie
29
messaggi | Data Invio:
lun 15 mar 2010 - 17:40
Ciao,
grazie mille per il suggerimento, ora proverò. Cercando ancora sul web hotrovato su un forum che qualcuno consigliava di mettere prima il displaymember e il ValueMember e solo dopo il DataSource.
Così facendo sembra funzionare nel senso che l'id viene valorizato nel modo corretto e funziona quindi anche la conversione a integer. Cmq ora provo a fare come dici tu, immagino sia + corretto.
Grazie ancora
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !