2012-04-07 2 views
0

데이터 집합에서 콤보 상자를 채우고 다른 데이터 행에 바인딩하려고합니다. datarow에는 단일 고객 레코드가 들어 있습니다. 데이터 세트에는 title_id (int) 및 제목 (텍스트 설명)이있는 1 개의 테이블이 있습니다.Combobox는 데이터 세트에 바인딩되어있을 때 valuemember가 아닌 displaymember를 표시합니다.

cbxTitle.DataBindings.Add("Text", drCustomer.Table, "title_id"); 

:

cbxTitle.ValueMember = "title_id"; 
cbxTitle.DisplayMember = "title"; 
cbxTitle.DataSource = dsTitles.Tables[0]; 

다음 내가 고객의 세부 데이터 행에 데이터 바인딩을 설정

나는 가치와 디스플레이 회원 및 콤보 상자의 데이터 소스를 설정 실행하면 콤보 상자에 숫자 2 (데이터 행의 title_id 값)가 표시됩니다. 나는 그것을 클릭하면

, 그것은 씨, 부인, 미스 등 내가 예상대로 포함되어 있습니다 (MR = 2)

알아낼는 '미스터'를 표시하는 대신에 도착하는 방법은 없습니다 무엇 2 ?!

답변

2

방법에 대해 :

cbxTitle.DataBindings.Add("SelectedValue", drCustomer.Table, "title_id"); 

도이 링크를 참조하십시오 :

Entity Framework 4 Databinding on WinForms ComboBoxes with Foreign Keys

Why does the ComboBox.SelectedValue DataBinding context gets cleared when BindingList changes?

+1

완벽한, 정말 고마워요. 나는 내 이론이 옳았다는 것을 알고 있었고, 그것이 나를 쳐다 보았다고해도 문제를 볼 수 없었다! – Chris

관련 문제