Подтвердить что ты не робот

Элементы ComboBox Пусто, но DataSource Full

После привязки списка к combobox, его dataSource.Count равен 5, но счетчик элементов списка - 0. как это может быть?

Я привык к веб-программированию, и это в Windows Forms. Поэтому не существует метода combo.DataBind();.

Проблема в том, что я пытаюсь установить выбранный элемент программно. Поскольку я не вижу combo.Items коллекции заполнены, я не могу установить нужный элемент.


Обновление

Требуется общее обновление. Думаю:

  • datasource содержит 7 элементов
  • при привязке к combobox, DisplayMember и ValueMember соответствующим образом реализованы
  • после привязки данных, через gui, я могу четко видеть 7 элементов в combobox
  • combobox.DataSource.Count = 7 и combobox.Items.Count = 0

Итак, проблема здесь; так как после привязки данных нет элементов в ItemCollection of combobox; Я не могу найти подходящий и установить соответствующий.

Вот изображение для лучшего понимания (Но я уверен, что мне не хватает простого)

screenshot

4b9b3361

Ответ 1

После добавления ddl.BindingContext = new BindingContext(); перед назначением BindingSource все работало нормально.

Ответ 2

Если вы расширите элементы DataSource в debuger, вы, вероятно, заметите, что 1-й список элементов имеет значение null. Вот почему DataSource не отображает элементы ComboBox. Удаление нулевых элементов из списка должно выполнять всю работу;

Ответ 3

У меня была та же проблема, но в моем случае это было вызвано вызовом

combobox.Sorted = True

в InitializeComponent. Я предполагаю, что этот вызов инициализирует Items, что затем предотвращает обновление данных DataSource (Items).