2013-04-09 86 views
0

我使用了一个组合框在我的表格,并使用实体框架的数据源,我的代码是:组合框显示部件

  publishContext = new publishingCompanyEntities(); 
      comboBox2.DataSource = publishContext.Authors; 
      comboBox2.DisplayMember = "FirstName"; 
      MessageBox.Show(comboBox2.DisplayMember.ToString());//this line return null ! 

虽然我改变ComboBox的DisplayMember,在MessageBox返回空值, 组合框未填充数据,数据库有数据,publishContext.Authors返回它们,但组合框不显示它们!

+0

显示成员应该在数据源之前声明! – 2013-04-09 08:56:57

回答

2

你需要像我提到的那样显示你的消息框。

publishContext = new publishingCompanyEntities(); 
comboBox2.DisplayMember = "FirstName"; 
comboBox2.DataSource = publishContext.Authors.ToList(); 
MessageBox.Show(publishContext.Authors.Count().ToString()); 

现在检查是空,现在如果null,则使用try catch块的确切的错误

try 
{ 
publishContext = new publishingCompanyEntities(); 
comboBox2.DisplayMember = "FirstName"; 
comboBox2.DataSource = publishContext.Authors.ToList(); 
MessageBox.Show(publishContext.Authors.Count().ToString()); 
} 
catch(Exception ex) 
{ 
} 

或者你可以检查这个Link以及

希望工程......

+0

问题来自排序!显示成员应该在数据源之前声明!现在显示成员已更改,但组合框现在具有item和'cmoAuthors.Items.Count',因为'publishContext.Authors'具有Item!为什么? – 2013-04-09 08:56:23

+0

您更改显示成员的位置。 – Rahul 2013-04-09 09:24:58

+0

之前设置组合框数据源 – 2013-04-09 09:26:26