同じデータソースから3つのコンボボックスを読み込むWindowsアプリケーションを作成していました。私のデータソースはデータテーブルです。コンボボックスの奇妙な動作の説明が必要
私はコンボボックスを移入方法は、コンボボックスのそれぞれについて、次のコードを繰り返すことである:
'populate 1st combobox
cbx1.DataSource = table
cbx1.DisplayMember = "someColumn"
cbx1.ValueMember = "anotherColumn"
cbx1.SelectedIndex = Indx
'populate 2nd combobox
cbx2.DataSource = table
cbx2.DisplayMember = "someColumn"
cbx2.ValueMember = "anotherColumn"
cbx2.SelectedIndex = Indx
'populate 3rd combobox
cbx3.DataSource = table
cbx3.DisplayMember = "someColumn"
cbx3.ValueMember = "anotherColumn"
cbx3.SelectedIndex = Indx
アプリケーションが実行されると、私はcbx1、たとえば、のドロップダウンリストから項目を選択し、私の選択はcbx2とcbx3にも反映されています。誰かがここで何が起こっているのかを説明することができれば、この行動は奇妙であり、感謝しています。
私は以下のようにコードを変更することでこの問題を回避することができましたが、このように思わしくないような動作については説明したいと思います。
'populate 1st combobox
Dim t1 as datatable = table.Copy
cbx1.DataSource = t1
cbx1.DisplayMember = "someColumn"
cbx1.ValueMember = "anotherColumn"
cbx1.SelectedIndex = Indx
'populate 2nd combobox
Dim t2 as datatable = table.Copy
cbx2.DataSource = t2
cbx2.DisplayMember = "someColumn"
cbx2.ValueMember = "anotherColumn"
cbx2.SelectedIndex = Indx
'populate 3rd combobox
Dim t3 as datatable = table.Copy
cbx3.DataSource = t3
cbx3.DisplayMember = "someColumn"
cbx3.ValueMember = "anotherColumn"
cbx3.SelectedIndex = Indx
Windowsアプリケーションですか? – Novice
@Jose:はい、それは窓のアプリケーションです – Tracer
テーブルのインスタンスはまだ同じです – Novice