2014-10-15 3 views
0

이유를 찾을 수 없는데, 제 경우에는 DisplayMember가 올바르게 채워지고 ValueMember는 대신 문자열 (열 이름) 만 가져옵니다. 다른 콤보 박스, 열 이름 및 표에 대해서도 동일합니다. ValueMember 값 느끼는 동안db - ValueMember 문제에서 Combobox 채우기

  Using comm3 As SqlCommand = New SqlCommand("SELECT PID, RTRIM(Desc) as Desc FROM Conds WHERE Typ = 3", oConn) 
       Dim rs As SqlDataReader = comm3.ExecuteReader 
       Dim dt As DataTable = New DataTable 
       dt.Load(rs) 
       cbConditionPayment.ValueMember = "PID" 
       cbConditionPayment.DisplayMember = "Desc" 
       cbConditionPayment.DataSource = dt 
      End Using 'comm3 

그래서 DisplayMember는 "조건 1, 조건 2, 조건 3, ...."와 같은 값을 얻는다 "PID, PID, PID, PID를 ..."대신 1, 2 "의 , 3, 18, 22, ... "

바보 뭔가해야 ...

감사합니다,

오크

+1

DisplayMember를 DESC에서 Popis로 변경하려고 했습니까? 그런데 DESC는 예약어 – Steve

+0

이기 때문에 사각형 브래킷에 있어야합니다. 죄송 합니다만, 이것은 문제가되지 않습니다. 더 나은 이해를 위해 쿼리를 영어로 번역했습니다. 원래의 경우에는 두 필드에 모두 Popis가 있습니다. –

+0

이 문제가 해결 되었습니까? 그리고 어떻게 ? 부디 – Tony

답변

0

난 당신이 오해 할 수 있다고 생각 무엇 ValueMember 않습니다. 실제로 "PID"값을 어떻게 얻고 있습니까? 너 ValueMember 속성에서 그들을 받고 있습니까? 그렇다면 그것은 정확히 당신이 기대하는 것입니다. 왜냐하면 그것이 당신이 처음에 그것에 할당 한 것이기 때문입니다.

ValueMemberSelectedValue 값을 가져 오는 열의 이름입니다. 사용자가 "Desc"값으로 항목을 선택하면 SelectedValue 속성은 해당 "PID"값을 반환합니다.