|
■No56982 (マサヤ さん) に返信 > 問題になっている仕様は下記のソースでような感じいいでしょうか? > 試してみましたが動きましたよ。 > > public Form1() > { > InitializeComponent(); > SetComboBox(); > comboBox1.SelectedIndex = -1; > comboBox2.SelectedIndex = -1; > } > > private void SetComboBox() > { > IList<String> list = new List<String>(); > list.Add("hoge"); > list.Add("hoge2"); > list.Add("hoge3"); > comboBox1.DataSource = list; > IList<String> list2 = new List<String>(); > list2.Add("master"); > list2.Add("master2"); > list2.Add("master3"); > comboBox2.DataSource = list2; > } > > private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) > { > if (comboBox2.DataSource != null) > { > comboBox2.SelectedIndex = comboBox1.SelectedIndex; > } > }
マサヤさま。さっそくの回答ありがとうございます。
質問の件ですが、動作および設定としては以下の通りとなります。
Table1というテーブルの列としてCodeとNameがあります。 そしてTable1に以下のように設定します。 Table1[0].Code=0,Table1[0].Name=名前0 Table1[1].Code=1,Table1[1].Name=名前1 Table1[2].Code=2,Table1[2].Name=名前2 Table1[3].Code=3,Table1[3].Name=名前3 Table1[4].Code=4,Table1[4].Name=名前4 Table1[5].Code=5,Table1[5].Name=名前5
そして、Table1をバインディングソースのDataMemberに設定します。
その後、コンボボックス1にTable1のCode列を連結。同じくコンボボックス2にTable1のName列を連結します。
連結後、コンボボックス1と2を空白表示するため、それぞれのSelectIndexに-1を設定します。
そうした状態で、コンボボックス1のリストから0を選択しても、コンボボックス2のリストが名前0にならず空白のままになっています。
コンボボックス1のリストから1を選択した場合は、コンボボックス2のリストは空白から名前1に変更となります。
以上のような動作になっています。
|