2015-08-13 54 views
0

如何設置組合框的selectedItem?在用對象填充的組合框中設置SelectedItem - 實體框架

組合框充滿了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

當在foreach完美的作品,可能是一個問題! – grteibo