2013-04-09 108 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