2010-12-10 2 views
4

У меня есть сводка на моей форме (winforms). В свойствах я установил DisplayMember и ValueMember. DisplayMember = Name и ValueMember = ID. Выпадающий заполняется со следующими объектами:Combobox selectedvalue

public class MyObj 
    { 
     public string Name 
     { 
      get; set; 
     } 

     public int ID { get; set; } 
    } 

Название отображает штраф в выпадающем списке (так DisplayMember работает), однако, когда я делаю:

mycombobox.SelectedValue это всегда нуль.

Кто-нибудь знает, если я забыл что-нибудь сделать?

+0

где вы проверяли `mycombobox.SelectedValue`? – Bolu 2010-12-10 11:47:30

+0

Это событие щелчка кнопки. Я также попытался проверить его на событии SelectedIndexChanged самого combobox, но он тоже не работал. – AndrewC 2010-12-10 11:50:07

ответ

4

Вы установите DataSource свойство. Кроме того, убедитесь, что вы должны установить их в правильном порядке -

Установите их в следующем порядке -

1. DisplayMember 
2. ValueMember 
3. DataSource 

Посмотреть эту ссылку - http://social.msdn.microsoft.com/Forums/en/winformsdatacontrols/thread/211a46f5-5971-4ea2-a61d-84e389360909

В качестве альтернативы вы можете использовать SelectedItem свойство для получения выбранный экземпляр MyObj.

0

Был выбран товар? Выбранный не всегда совпадает с видимым. Возможно, вы действительно хотите mycombobox.Text.

0

У меня есть аналогичная ошибка. Я устанавливаю DisplayMember и ValueMember, но я устанавливаю вместо DataSource Items.Insert.

Смежные вопросы