简体   繁体   中英

Combobox.SelectedValue wont select the actual value

I have a problem that I'm struggling with.

I fill a combobox this way:

RDTA_cb_provincias.DataSource = provincias;
RDTA_cb_provincias.DisplayMember = IdiomaBD.ObjCI.ToString().Equals("eu-ES")
    ? "TTEXNOMBRPROV_EU"
    : "TTEXNOMBRPROV_ES";
RDTA_cb_provincias.ValueMember = "TCODIDTERRITORIO";

There's some stuff depending on the language of the user, but i guess that's not important here.

Well, when i want to select depending on the value member i do this:

RDTA_cb_provincias.SelectedValue = provincia2.TCODIDTERRITORIO;

But for some reason it won't show up the actual item I want to show. While debugging i can see that RDTA_cb_provincias.SelectedValue matches provincia2.TCODIDTERRITORIO.

For example, I've set SelectedValue to 51, but when i see the SelectedItem inside the ComboBox once I've changed the value, It shows up an object that has 47 as its TCODIDTERRITORIO.

What can it be? Or how can I bypass this problem (Maybe iterating the whole ComboBox item list until i find the one i want to select?)

Thanks in advance!

You should use SelectedItem instead:

RDTA_cb_provincias.SelectedItem = provincia2;

Or you can use SelectedIndex as follows:

RDTA_cb_provincias.SelectedIndex = RDTA_cb_provincias.FindStringExact(provincia2.TCODIDTERRITORIO)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM