VB .NET COMBOBOX ValueMember

Привет, ребята, у меня проблема с ValueMember. Посмотрите на код:

   conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & _
"c:\\magazyn.mdb"
    ' Try
    conn.Open()

    da2 = New OleDbDataAdapter(sql1, conn)

    da2.Fill(ds2)
    ' DataGridView1.DataSource = ds.Tables("Nazwa")
    ' DataGridView1.Update()
    ComboBox4.DataSource = Nothing

    ComboBox4.DataSource = ds2.Tables(0)

    ComboBox4.ValueMember = Nothing
    ComboBox4.DisplayMember = "Nazwa_Towaru"
    ComboBox4.ValueMember = "Kod_Towaru"

    MessageBox.Show(ComboBox4.Text + "-" + ComboBox4.ValueMember)

    ' Catch ex As Exception
    'MessageBox.Show("Brak podłączonej bazy/problem z podłączeniem do bazy")
    '  Finally
    conn.Close()
    '  End Try

MessageBox должен показать мне что-то вроде этого: Графическая карта - 123ASD, первый элемент - "Nazwa_Towaru", второй - "Kod_Towaru", но MB показывает мне что-то вроде этого: Графическая карта - "Kod_Towaru". В первый раз я думаю, что столбец «Kod_Towaru» в DATASET пуст, но я проверяю это, и столбец содержит данные.

У меня также есть еще один ComboBox с тем же кодом, и он отлично работает, так почему бы и нет. ВСЕ переменные являются локальными, поэтому они не коллидируют.


person Tom Konski    schedule 15.11.2012    source источник
comment
РЕШЕНО -.- Я должен купить очки. MessageBox.Show(ComboBox4.Text + - + ComboBox4.SelectedValue)   -  person Tom Konski    schedule 15.11.2012
comment
Пожалуйста, приложите минимум усилий, выполнив поиск в Интернете или на этом веб-сайте перед публикацией. Кто-то может проголосовать против вашего вопроса... Если у вас есть ответ, вы можете закрыть его тогда.   -  person bonCodigo    schedule 15.11.2012


Ответы (1)


Я предполагаю, что ComboBox4.SelectedIndex = -1. После привязки поля со списком к источнику данных установите для выбранного индекса значение 0 (если в поле со списком есть данные).

Серж

person Serge Bollaerts    schedule 15.11.2012