【问题标题】:ComboBox and Entity Framework组合框和实体框架
【发布时间】:2011-01-23 18:38:38
【问题描述】:

我在数据表中有 ProjectID 和 Name。 cbProjects 是组合框。

这是一段代码。

ProjectEntities projectE = new ProjectEntities();
cbProjects.ItemsSource = projectE.Projects;
cbProjects.DisplayMemberPath = "Name";

我可以在 ComboBox 中获取有关所选名称的 ProjectID 的信息吗?

【问题讨论】:

    标签: c# wpf entity-framework


    【解决方案1】:
    private void cbProjects_SelectedIndexChanged(object sender, System.EventArgs e)
    {
        ComboBox cb = sender as ComboBox;
    
        var item = cb.SelectedItem as Project;
        int projectID = item.ProjectID;
    
    }
    

    var item = cbProjects.SelectedItem as Project;
    int projectID = item.ProjectID;
    

    【讨论】:

      【解决方案2】:

      我正在使用带有 EF 4 的 VS 2010,这是对我有用的代码:

      //load entities to the combo box
      ProjectEntities projectE = new ProjectEntities();
      var pdata = projectE.Projects;
      cbProjects.DataSource = pdata; //cbProjects.ItemsSource
      cbProjects.DisplayMember = "Name"; //cbProjects.DisplayMemberPath
      
      //get selected value
      var item = cbProjects.SelectedItem as Project;
      int projectID = item.ProjectID;
      

      【讨论】:

      • 完全正确!需要从 Combobox 项中获取实体对象。谢谢!
      【解决方案3】:
      cbProjects.SelectedValuePath = "ProjectID"
      

      然后你可以通过cbProjects.SelectedValue获取选中项的id。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-05
        • 1970-01-01
        • 2013-06-20
        • 1970-01-01
        • 1970-01-01
        • 2017-05-23
        相关资源
        最近更新 更多