2015-08-13 2 views
0

Как установить выбранный элемент combobox?set SelectedItem в Combobox, заполненном объектами - Entity Framework

Поле со списком заполняется EF сущностей же, как значение, которое я пытаюсь установить

Я попробовать различные способы без результатов:

set { cboRubroPadre.SelectedItem = value; } 

set { cboRubroPadre.SelectedItem = cboRubroPadre.FindString(value.Nombre); } 

set { cboRubroPadre.SelectedItem = cboRubroPadre.FindStringExact(value.Nombre); } 

это комбинированный код-х:

cboRubroPadre.DataSource = _context.Rubros.ToList(); 
cboRubroPadre.DisplayMember = "Nombre"; 
cboRubroPadre.ValueMember = "Id"; 

ответ

1

Возможно, комбо заполнено из разных контекстов, и сравнение производится по ссылке.

Вы должны реализовать == на Rubro сущности или что-то вроде этого:

foreach (var item in cboRubroPadre.Items) 
    if (((Rubro)item).Nombre == value.Nombre) 
    { 
     cboRubroPadre.SelectedItem = item; 
     break; 
    } 
+0

Я уже rewite код, чтобы использовать один контекст, я полагал, что это может быть проблемой при сравнении объектов – grteibo

+0

в цикле, работает отлично ! – grteibo