2013-03-13 61 views
0

我有3個組合框ObjetivosCB,在我的形式顯示FrecuenciasCBResponsablesCB下面組合框SelectedItem屬性回報總是和顯示總是第一個項目

public partial class Form_Indicador : Form 
{ 
    public Indicador Indicador { get; set; } 
    private void Form_AgregarIndicador_Load(object sender, EventArgs e) 
    { 
     if (Indicador == null) 
      Indicador = new Indicador(); 

     ConfigurarObjetivosCB(); 
     ConfigurarFrecuenciasCB(); 
     ConfigurarResponsablesCB(); 

     CargarPropiedadesIndicador(); 
    } 

    private void ConfigurarResponsablesCB() 
    { 
     ResponsableCB.DataSource = ResponsableRepository.Instance.All(); 
     ResponsableCB.DisplayMember = "Area"; 
     if (Indicador.Responsable == null) 
      ResponsableCB.SelectedIndex = -1; 
    } 

    private void ConfigurarFrecuenciasCB() 
    {   
     FrecuenciasCB.DisplayMember = "Periodo"; 
     FrecuenciasCB.DataSource = IndicadorRepository.Instance.AllFrecuencias();  
     if (Indicador.Frecuencia == null) 
      FrecuenciasCB.SelectedIndex = -1; 
    } 

    private void ConfigurarObjetivosCB() 
    { 
     ObjetivosCB.DataSource = _objetivoFachada.All(); 
     ObjetivosCB.DisplayMember = "Nombre"; 
     if (Indicador.Objetivo == null) ObjetivosCB.SelectedIndex = -1; 
    } 

    private void CargarPropiedadesIndicador() 
    {    
     ObjetivosCB.DataBindings.Add("SelectedItem", Indicador, "Objetivo"); 
     ResponsableCB.DataBindings.Add("SelectedItem", Indicador, "Responsable"); 
     FrecuenciasCB.DataBindings.Add("SelectedItem", Indicador, "Frecuencia"); 
    } 

}

的問題是,FrecuenciasCB.SelectedItemResponsablesCB.SelectedItem始終顯示並返回第一個項目,但ObjetivosCB.SelectedItem工作正常。我不明白......三種方法具有相同的邏輯。我究竟做錯了什麼?

+0

'ResponsableRepository.Instance.All()','_IndicadorRepository.Instance.AllFrecuencias()'和'_objetivoFachada.All()'返回什麼? –

+0

分別返回'IList ','IList '和'IList '。 –

+0

在第三個Configure方法的'DataSource'之後設置'DisplayMember'屬性*。我不確定這是否重要,但值得檢查。 – Tergiver

回答

0

我已經解決了!問題是Equals()IndicadorFrecuencia中的定義錯誤。

相關問題