2013-04-09 4 views
0

가 내 폼에 콤보 상자를 사용하고 데이터 소스에 대한 엔티티 프레임 워크를 사용하는 한 변경되지, 내 코드는 다음과 같습니다콤보 상자 디스플레이 회원

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

나는 콤보 상자의 DisplayMember 변경 있지만, 메시지 박스가 null 값을 반환 , ComboBox가 데이터로 채워지지 않으며 데이터베이스에 데이터가 있고 publishContext.Authors이이를 반환하지만 ComboBox에 표시되지 않습니다!

+0

표시 멤버는 데이터 소스 전에 선언해야합니다! –

답변

2

내가 언급 한 것처럼 메시지 상자를 표시해야합니다.

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

지금 ...

그 널 (null)이 다음 정확한 오류에 대한 catch 블록을 시도 사용할 경우 지금

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

아니면 작동이 Link뿐만 아니라

이 희망 확인할 수 있습니다 null의 확인

+0

문제가 선 종류에서 발생했습니다! 디스플레이 멤버는 데이터 소스 앞에 선언해야합니다! 이제 디스플레이 멤버가 변경되었지만 combobox에 항목이 있고'cmoAuthors.Items.Count'는 0을 반환합니다. 'publishContext.Authors'에는 Item이 있습니다! 왜 ? –

+0

디스플레이 멤버를 변경합니다. – Rahul

+0

콤보 상자 데이터 소스를 설정하기 전에 –