Archief - [PROG]VB.NET Item selecteren in combobox

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ki-hyeon

Legacy Member
Hey,

ik tracht vanuit mijn code een item te selecteren in men combobox, maar dat wil maar niet lukken.

Wanneer ik gewoon items toevoeg aan men combobox is dit geen probleem:
Code:
cmbPersoon.Items.Add("Jan")
cmbPersoon.Items.Add("Jef")
cmbPersoon.Items.Add("Jos")
cmbPersoon.SelectedItem = "Jos"
nu wou ik echter gegevens uit mijn database halen en gebruik maken van de displaymember en valuemember-properties. Bijgevolg heb ik dus een klasse 'Persoon' aangemaakt en de waarbij ik tostring heb overriden. Vervolgens voeg ik Personen in ipv de strings van hiervoor:
Code:
For Each tempRow In myDataTable.Rows
            Dim pers As New Persoon(tempRow("ID"), tempRow("Name"))
            cmbPersoon.Items.Add(pers)
Next
Ik kan wel de geselecteerde waarde uit men combobox halen door:
Code:
Dim ID As Integer = CType(cmbPersoon.SelectedItem, Persoon).mID
Maar nu is dus mijn probleem dat ik vanuit mijn code iemand wil pre-selecteren, maar ik krijg het maar niet aan de praat.

Iemand die mij een beetje kan helpen? :$ Alvast bedankt!

Albireo

Legacy Member
Je kan nog steeds op naam zoeken:

Code:
defaultName="Jos"
cmbPersoon.SelectedIndex=cmbPersoon.FindStringExact(defaultName)

maar dit zou ook moeten werken (maar het kan in sommige gevallen wat trickier zijn omdat gezocht wordt op object reference)

Code:
For Each tempRow In myDataTable.Rows
            Dim pers As New Persoon(tempRow("ID"), tempRow("Name"))
            cmbPersoon.Items.Add(pers)

            If (tempRow("ID")=defaultID) Then
                   defaultPerson=pers
            End If
Next

cmbPersoon.SelectedItem=defaultPerson

ki-hyeon

Legacy Member
nice one!
eigenlijk logisch, maar ik was er niet opgekomen :)

thanks mate! :niceone:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan