備忘です。
C#でWindowsフォームアプリケーションを製造していました。
で、ComboBoxの2つ用意して、別々のフィールドで管理していました。
ComboBoxの選択肢はDataSorceプロパティにDataTableを突っ込んで動的なものにしていました。ちなみに両方とも同じDataTableを突っ込んでいます。
実際に動かしてみると、なぜか片方を選択すると、もう片方も同じ選択肢が入ってしまいました。
別々のフィールドにしていてもです。
色々ネットの海をさまよい歩いて以下の解決方法を見つけました。
qiita.cs
//役職1
comboBox2.BindingContext = new BindingContext();
comboBox2.ValueMember = "コード";
comboBox2.DisplayMember = "名称";
comboBox2.DataSource = bunruiTable2;//役職1
comboBox2.SelectedValue = dt1.Rows[0][2].ToString();
comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;
//役職2
comboBox3.BindingContext = new BindingContext();
comboBox3.ValueMember = "コード";
comboBox3.DisplayMember = "名称";
comboBox3.DataSource = bunruiTable2;//役職2
comboBox3.SelectedValue = dt1.Rows[0][3].ToString();
comboBox3.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox.BindingContext = new BindingContext();
をつけると別々のComboBoxとして管理される??ようになり、それぞれが干渉しあうことがなくなりました。
でも結局なぜ干渉されるのか、上記のコードが本来どんな役割を持っているのかは不明。
また時間があるときに勉強したい。