Новое усовершенствованное решение:
A DataSource
больше, чем просто данные.
Существует скрытый по умолчанию BindingSource
, который заставляет ComboBoxes следовать.
Чтобы избежать этой связи, а также репликации данных в первой версии этого ответа, все, что вам нужно сделать, это создайте отдельный BindingSource
для каждого ComboBox. Они разделяют DataTable
, но имеют каждый свой собственный rowPointer:
BindingSource bS1, bS2, bS3;
..
..
..
..
dt = new DataTable();
dt.Load(reader);
bS1 = new BindingSource();
bS1.DataSource = dt;
bS2 = new BindingSource();
bS2.DataSource = dt;
bS3 = new BindingSource();
bS3.DataSource = dt;
..
ddl1.DataSource = bS1 ;
ddl2.DataSource = bS2 ;
ddl3.DataSource = bS3 ;
..
..
Теперь ComboBoxes могут быть изменены независимо.
Примечание: Моя первая версия работала, но была неправильным способом Это. К сожалению ..!