월요일부터 일요일까지 요일을 포함하는 드롭 다운 목록이 있습니다. 숫자의 요일을 이름으로 매핑하는 사용자 정의 유형의 두 값으로 채워집니다.사용자 정의 유형의 드롭 다운 목록에 데이터 바인딩하는 방법은 무엇입니까?
Public Structure WeekDays
Public ID As Integer
Public Text As String
Public Overrides Function ToString() As String
Return Me.Text
End Function
End Structure
난에 바인딩 할 개체는 정수 속성 된 요일이 있고, 나는 개체의 된 요일 속성 드롭 다운에서 선택한 항목의 ID 값을 바인딩 할. 예. 사용자는 목요일을 선택하고 4라는 ID가 객체에 전달됩니다.
코드에서 SelectedItem의 UDT를 검색 할 수 있지만 바인딩 할 콤보 상자의 속성을 찾을 수 없습니다.
- UDT를 드롭 다운의 Items 컬렉션에 직접 추가하면 SelectedValue는 Nothing입니다.
- UDT를 List (Of UDT) 컬렉션에 추가하고 드롭 다운의 데이터 소스로 설정하고 ValueMember를 ID로 설정하고 DisplayMember를 Text로 설정하면 SelectedValue는 전체 UDT를 반환합니다. ValueMember 속성
데이터 바인딩은 일반 텍스트 상자의 경우 실제로 잘 작동하는 것처럼 보일 수 있지만 더 복잡한 컨트롤을 처리 할 때는 더 이상 당황 할 수 있습니다.
업데이트 : 내가 찾고있는 것은 바인딩 문입니다. 예. 어느 쪽도 아니 ...
oB = New Binding("SelectedItem", Payroll, "DayOfWeek")
oB = New Binding("SelectedItem.ID", Payroll, "DayOfWeek")
... 작품. 첫 번째 항목은 무시되고 (SelectedItem 속성이 Nothing이기 때문에) 무시되고 두 번째 항목은 "Can not bind ..."오류로 실패합니다.
더 나은 해결 방법이 있는지 확인하려면 며칠 정도 기다려야합니다. 그렇지 않으면이 대답을 수락합니다. – Bill