Как разделить выбранный элемент из двух выпадающих списков с помощью одного источника данных?

В форме у меня есть два поля со списком, которые имеют один и тот же источник данных (список их элементов одинаков). Когда пользователь выбирает элемент в одном из элементов управления, выбранный элемент другого элемента управления также изменяется. Это не то, чего я хочу.

Я бы хотел, чтобы оба списка были заполнены одним и тем же источником данных (как и сейчас), но я бы хотел, чтобы их выбранные элементы были независимы друг от друга.

Как я могу это сделать?


person Mathieu Pagé    schedule 13.11.2009    source источник


Ответы (2)


Или вы могли бы использовать...

var dataSource = new[] { "item1", "item2", "item3" };
comboBox1.DataSource = dataSource;
comboBox2.BindingContext = new BindingContext();
comboBox2.DataSource = dataSource;
person Peter Rennie    schedule 13.11.2009
comment
Они даже это неплохо задокументировали. Как ни поразительно, как я думаю, поведение автоматической синхронизации, оно все же показывает, что RTFM является обязательным при использовании этой платформы. - person TheBlastOne; 01.09.2011

Вам нужно создать два разных экземпляра источника данных. Для этого вы можете использовать метод расширения ToArray:

var dataSource = new string[] { "item1", "item2", "item3" };
comboBox1.DataSource = dataSource.ToArray();
comboBox2.DataSource = dataSource.ToArray();
person Darin Dimitrov    schedule 13.11.2009