不要从实体框架显示项目到组合框

时间:2018-08-27 12:39:01

标签: c# entity-framework

我已经在实体框架中定义了一个模型。现在,我想填写此模型的组合框。但是我没有成功。

private void comboBox6_SelectedIndexChanged(object sender, EventArgs e)
{
    using (SamenEntities c = new SamenEntities())
    {
        comboBox6.DataSource = c.sabt_como_tahsili.ToList();
        comboBox6.ValueMember = "id_vaziat_tahsili";
        comboBox6.DisplayMember = "name_vaziat_tahsili";
    }
}

comboBox中没有显示数据

2 个答案:

答案 0 :(得分:1)

初始化表格时,应填写组合框。或者,也许创建一个RefreshDataSources函数,它将重新加载表单上的每个数据集(包括此组合框)。这样吧?

private void RefreshDataSources()
{
   using (SamenEntities c = new SamenEntities())
    {
        #region combobox
        comboBox6.DataSource = c.sabt_como_tahsili.ToList();
        comboBox6.ValueMember = "id_vaziat_tahsili";
        comboBox6.DisplayMember = "name_vaziat_tahsili";
        #endregion

        // place other controls here
    }
}

但是即使在SelectedIndexChanged可行的情况下,这样做也不是最佳选择。


编辑

仅检查了常见的Microsoft组合框项目的行为。 如果SelectedIndexChanged中没有任何内容,则不会启动它,因此没有机会执行您的代码。

答案 1 :(得分:0)

public Form1()
{
    InitializeComponent();

    using (SamenEntities c = new SamenEntities())
    {
        comboBox6.DataSource = c.sabt_como_tahsili.ToList();
        comboBox6.ValueMember = "id_vaziat_tahsili";
        comboBox6.DisplayMember = "name_vaziat_tahsili";
    }
}