Quecumber256 Ответов: 1

Установите переменную в выбранное значение combobox


Это должно быть просто, но я ни за что на свете не могу этого понять.
Private Sub cboCustomer_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboCustomer.SelectedValueChanged
        If cboCustomer.SelectedIndex >= 0 Then
            lngID = CLng(cboCustomer.SelectedItem)
            Debug.Print("lngID = " & CStr(lngID))
        End If
    End Sub


В выпадающем списке клиенты есть только одно значение и это единственный идентификатор клиента равный 1

Я получаю это исключение
InvalidCastException was unhandled by user code
и я не знаю, почему это исключение выбрасывается. Все, что я делаю, - это присваиваю "SelectedValue" из combobox в lngID, чтобы я мог запустить запрос и вернуть правильные результаты.

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

Что я уже пробовал:

Если бы я знал, почему это происходит, я мог бы решить эту проблему.

1 Ответов

Рейтинг:
1

Christiaan van Bergen

Вы выбираете SelectedItem, который является объектом, который вы не можете преобразовать в long.

lngID = CLng(cboCustomer.SelectedItem)
Вам нужен индекс этого пункта? Тогда использовать:
lngID = cboCustomer.SelectedIndex
Подробнее об этом здесь: комбинированный список.Свойство SelectedItem[^]