При принятии решения о том, какие символы разрешены, помните своих апострофов и друзей с переносом. Я не контролирую тот факт, что моя компания генерирует мой адрес электронной почты, используя мое имя из системы HR. Это включает апостроф в моей фамилии. Я не могу сказать, сколько раз я был заблокирован от взаимодействия с веб-сайтом из-за того, что мой адрес электронной почты «недействителен».
Новое усовершенствованное решение:
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 могут быть изменены независимо.
Примечание: Моя первая версия работала, но была неправильным способом Это. К сожалению ..!