Kan selected value niet uit combobox halen.

Status
Niet open voor verdere reacties.

straatloper

Gebruiker
Lid geworden
1 jun 2008
Berichten
12
Ik ben aan de laatste dingen bezig om mijn GIP af te werken.
Ik maak een scoutingprogamma voor basketbal.

Nu op mijn blad staat er 1 combobox met al mijn ploegen en 12 comboboxen (1 voor elke speler van de ploeg).
Wat ik wil is dat als je in de comboboxen van de speler alleen de namen ziet van die spelers die bij de geselecteerde ploeg spelen.

Eerst heb ik alle ploegen uit mijn database ingeladen door de volgende code te gebruiken:
Code:
private void BPloegenLaden()
{
            cboPloeg.BindingContext = new BindingContext();
            cboPloeg.SelectedValue = "Ploegen.PloegId";
            cboPloeg.DisplayMember = "Ploegen.Ploegnaam";
            cboPloeg.DataSource = Variabelen.dsPloegen;
}

En voor de volgende code gebruik ik voor de spelers in te laden:

Code:
private void cboPloeg_SelectedIndexChanged(object sender, EventArgs e)
{
int ploegid = (int)cboPloeg.SelectedValue;

DataSet dsSpelers = db.CreateTable("SELECT * FROM tblSpeler " +
"Where tblSpeler.PloegId = " + ploegid + " ORDER BY tblSpeler.Spelernaam", "spelers");

     cboBSpeler1.BindingContext = new BindingContext();
     cboBSpeler1.DisplayMember = "spelers.Spelernaam";
      cboBSpeler1.ValueMember = "spelers.SpelerID";
      cboBSpeler1.DataSource = dsSpelers;
}

Maar als ik mijn scouting form open geeft hij de foutmelding:

"Specific cast is not valid" :s

Ik weet niet hoe dit komt omdat ik exact dezelfde code al eens heb gebruikt in een ander form.
 
Laatst bewerkt:
De enige cast die ik zie is deze:

Code:
int ploegid = [COLOR="Red"](int)[/COLOR]cboPloeg.SelectedItem;

Geeft hij ook op die regel de fout aan?
Wat is "selectedItem" voor type?
 
De enige cast die ik zie is deze:

Code:
int ploegid = [COLOR="Red"](int)[/COLOR]cboPloeg.SelectedItem;

Geeft hij ook op die regel de fout aan?
Wat is "selectedItem" voor type?

Dat moet eigenlijk SelectedValue zijn :p
Maar hij geeft inderdaad op dat lijntje een foutmelding. Of er nu SelectedItem of SelectedValue staat :(
 
Wat je mogelijk zou kunnen proberen is een
Code:
int ploegid = Convert.ToInt(cboPloeg.SelectedValue);
 
Een combobox heeft een itemcollection, wat dus wil zeggen dat het feitelijk een array van items bevat. De property
Code:
selectedValue
bepaalt de waarde van de Valuemember niet van het geselecteerde item. Om de geselecteerde item op te halen gebruik je de property
Code:
selectedItem
.

De property selectedItem heeft als terugkeerwaarde een object. Dit wil zeggen dat je geen indirecte cast kan doen maar via de System.Convert klasse moet werken:

Code:
 int test = Convert.ToInt32(comboBox1.SelectedItem);

Succes
 
Nu krijg ik geen foutmelding meer als ik mijn form scouting open maar nu krijgt ik geen spelers in mijn comboboxes :s

Edit:

Hij laadt wel spelers in maar niet bij de juiste ploegen xD
 
Laatst bewerkt:
Dan is er wat mis met jou sql gok ik maar hoe moet ik nu in godsnaam weten wat er fout zou zijn als jij geen code of theoretische uitleg over jouw werkwijze geeft?
 
Laatst bewerkt:
Het probleem is opgelost.

Code:
int Ploegid = Convert.ToInt32(cboPloeg.SelectedValue.ToString());

Met die code werkte het wel wat raar was omdat ik die code al gebruikt had maar toen wel een foutmelding kreeg :s

Maar allemaal bedankt voor de tips en de oplossingen :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan