У меня есть приложение WinForm с сеткой, которая содержит ComboBox для каждой строки. Все привязаны к одной коллекции (коллекция может измениться позади, поэтому я не хочу иметь разные коллекции для каждого Combo, а также стоимость памяти). Проблема в том, что когда я выбираю какой-либо объект в одном комбо, он изменяет выбранный объект на каждом комбо. Вот код, который вы можете запустить и легко воспроизвести.Поведение мисс в .Net Элементы управления DataSource
public Form1()
{
InitializeComponent();
this.comboBox1 = new System.Windows.Forms.ComboBox();
List<int> numList = new List<int>(){1,2,3,4};
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(33, 169);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(126, 21);
this.comboBox1.TabIndex = 3;
this.comboBox1.DataSource = numList; // BINDING TO NUMLIST
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Location = new System.Drawing.Point(243, 367);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(126, 21);
this.comboBox2.TabIndex = 4;
this.comboBox2.DataSource = numList; // BINDING TO NUMLIST (THE SAME LIST
this.Controls.Add(this.comboBox2);
this.Controls.Add(this.comboBox1);
}
Просто сделайте форму и вставить декларацию ComboBox 1 и 2. Любая идея, как это может происходить. Я имею в виду, что если это простой список, он не отслеживает выбранный объект. Что происходит за DataSource?
Я действительно ненавижу ее, это означает, что мисс Поведение! – leppie
Я действительно прочитал вопрос, потому что мне было интересно встретиться с ней. – Paddy