2011-01-23 4 views
0

У меня есть ProjectID и Name в таблице данных. cbProjects - это ComboBox.ComboBox и Entity Framework

Ниже приведен фрагмент кода.

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

Могу ли я получить информацию о ProjectID выбранного имени в ComboBox?

ответ

1
cbProjects.SelectedValuePath = "ProjectID" 

Тогда вы можете получить идентификатор выбранного элемента с помощью cbProjects.SelectedValue.

2
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

Я использую VS 2010 с EF 4, вот код, который работает для меня:

//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; 
+0

Exaclty! Необходимо получить объект объекта из элемента Combobox. Благодаря! –