Combobox SelectedItem属性始终返回并始终显示第一个项目

时间:2013-03-13 22:05:48

标签: c# winforms combobox selecteditem

我的表单中有3个组合框ObjetivosCBFrecuenciasCBResponsablesCB,如下所示

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正常。我不明白......三种方法都有相同的逻辑。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我已经解决了!问题是Equals()IndicadorFrecuencia的定义错误。