Значение Combobox очищается после установки SelectedIndex - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь установить значение SelectedIndex моего ComboBox, и когда я делаю текст, который был в ComboBox, очищается.Например: у меня есть DataGridView, и когда пользователь нажимает на строку, он заполняет ComboBox.Если пользователь нажимает на другую строку с тем же значением, он очищает значение ComboBox, но сохраняет выбранный индекс.Но если пользователь щелкает строку с другим значением, она меняется правильно.

Я попытался изменить способ заполнения поля со списком, установив его источник данных, просматривая его данные и вручную устанавливая каждое значение.Я также попытался установить ComboBox1.SelectedIndex = 2, и он все еще очищает текст.

Вот как я устанавливаю SelectedIndex в событии Click объекта DataGridView1:

effectiveMonth = DateTime.ParseExact(DataGridView1.SelectedRows(0).Cells.Item("Effective_Month").Value, "MMMM", CultureInfo.InvariantCulture).Month
ComboBox1.SelectedIndex = effectiveMonth - 1

Ивот как я заполняю ComboBox:

Dim months as New Dictionary(Of Integer, String) FROM {{1, "1-January"}, {2, "February"}, 
{3, "March"}}

ComboBox1.DataSource = months.ToList
ComboBox1.DisplayMember = "Value"
ComboBox1.ValueMemeber = "Key"

Я ожидаю, что значение ComboBox1 будет отображаться, когда пользователь нажимает на другую строку с тем же значением.

1 Ответ

0 голосов
/ 02 июля 2019

Установка SelectedIndex на -1 очистит ComboBox, оставив его без выбранного элемента.Если effectiveMonth всегда 0, то вы получите поведение, которое вы описали.Я не могу быть полностью уверен, потому что отображается недостаточно кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...