Как загрузить список с помощью Combobox - PullRequest
0 голосов
/ 11 мая 2018

проблема в том, что он не загружает его по одному, а сам дублирует его

        private void positionIDComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
        if (positionIDComboBox.SelectedValue!=null)
        {
            try
            {

                contactPositionListBox.Items.Add(positionIDComboBox.SelectedValue);

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, ex.GetType().ToString());
            }
        }


    }

enter image description here

И как бы в окне списка отображалось строковое значение, но было бы значение int, которое я бы добавил из списка, я попытался заполнить источник данных списка со значениями из базы данных, но я не смог получить этот список заполнить список

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

Для получения текста используйте:

 contactPositionListBox.Items.Add(positionIDComboBox.Text);

Для получения идентификатора я бы также использовал просмотр списка

        var lvItem = new ListViewItem(positionIDComboBox.Text);
        lvItem.Tag = positionIDComboBox.SelectedValue
        contactPositionListView.Items.Add(lvItem);

Чтобы остановить дубликаты

        if (!contactPositionListView.Items.Contains(lvItem))
        {
            contactPositionListView.Items.Add(lvItem);
        }

Затем вы можете использовать тег, чтобы получить индекс из комбо

В качестве альтернативы используйте ListView и поместите идентификатор во второй столбец

0 голосов
/ 14 мая 2018

Мне пришлось изменить событие на

private void contactIDComboBox1_SelectionChangeCommitted (отправитель объекта, EventArgs e)

0 голосов
/ 11 мая 2018

вы можете проверить, прежде чем добавить

if (!contactPositionListBox.Items.Contains(positionIDComboBox.SelectedValue))
    contactPositionListBox.Items.Add(positionIDComboBox.SelectedValue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...