シェアする

【C#】ComboBoxのValueMemberからインデックスを割り出す

シェアする

力技だけどこういう時に役に立つ方法

DisplayMember = Name

ValueMember = Id

とした場合 以下の様にして取得出来る

        for (int i = 0; i < ComboBox1.Items.Count; i++)
                {
                    string hoge = ComboBox1.Items[i].GetType().GetProperty("Id").GetValue(ComboBox1.Items[i]).ToString();
                    if (hoge == "検索対象ID")
                    {
                        ComboBox1.SelectedIndex = ComboBox1.FindString(ComboBox1.Items[i].GetType().GetProperty("Name").GetValue(ComboBox1.Items[i]).ToString());
                        break;
                    }
                }

Valueから指定Valueに一致するItemを見つけ、DisplayMemberを割り出し、その値FindStringして位置を割り出す力技

DisplayMemberがわかるのなら単純に

ComboBox1.SelectedIndex = ComboBox1.FindString(“DisplayMember”)

で出せる、今回はValueからインデックスを引っ張り出したい人用

スポンサーリンク

シェアする

フォローする

スポンサーリンク