2009-06-11 5 views
3

언 바운드 콤보 상자에 기본 콤보 상자 선택 값을 설정할 수 없습니다. 여기Windows.Form ComboBox 언 바운드 컨트롤의 SelectedValue 속성을 설정할 수 없습니다.

 
     System.Console.WriteLine("Current Tag Org Id = " + CurrentTag.Org.OrgId); 
     ddlRUC.SelectedValue = CurrentTag.Org.OrgId; 
     System.Console.WriteLine("ddlRUC selected value = " + ddlRUC.SelectedValue); 

출력은 다음과 같습니다 : 여기 내 코드는 현재 태그 조직 아이디 = 285 ddlRUC 선택 값은 = ddlRUC.SelectedValue가 285로 설정되지 않았 음을

참고 데이터 소스가 필요합니까 SelectedValue 속성을 사용하려면 바인딩되어 있어야합니까? 그렇다면, 바인딩되지 않은 콤보 상자에 표시된 기본 항목을 어떻게 설정합니까?

답변

11

SelectedValue 속성은 데이터 바인딩 된 목록 상자에서만 작동합니다. List <>에서 목록 항목을 만들 수 있으면 목록을 컨트롤에 바인딩하면 SelectedValue가 원하는대로 작동합니다.

0

언 바운드 ComboBox에 286 개의 항목이 있습니까? 그렇지 않으면 이드는 아무런 의미가 없다.

0

나는 당신이 성취하고자하는 것을 오해하고 있을지 모르지만 ComboBox에는 Items (ListBox와 같은 .Items가 있다고 생각합니다.)가 있거나 데이터 소스에 바인딩되어야합니다 기본 항목이됩니다.

0

콤보 상자의 항목에 값이 있습니까? Items.FindByText (문자열 텍스트) 또는 Items.FindByValue (문자열 값)을 사용하여 찾고있는 ListItem을 반환 할 수 있습니다.

0

The documentation for SelectedValue은 "ValueMember 속성에 지정된 데이터 소스의 멤버 값을 포함하는 개체"를 반환 할 것이라고 명시합니다. ValueMember 속성 설명서는 DataSource 속성에 할당 된 컬렉션의 개체 속성 이름을 나타냅니다.

그렇습니다. ValueMember는 데이터 바인딩 된 데이터 소스와 함께 작동합니다.

11

콤보 상자 (예 : 목록 상자)에는 선택을 처리하는 두 가지 메커니즘이 있습니다. 다음 중 하나를

  1. 당신은 데이터 소스 속성에 목록을 할당하고 그 목록의 항목 속성의 이름에 ValueMember 및 DisplayMember을 설정합니다. 또는

  2. 개체로 Items 속성을 채우면 이 표시됩니다.

시나리오 1)에서 SelectedValue를 사용하여 ValueMember를 기반으로 선택을 가져 오거나 설정할 수 있습니다. 시나리오 2

) 당신은 그래서 질문은, 어떻게 당신이 항목을 채우기 않습니다되는 대신

SelectedValue

의 selectedItem가 속성을 사용할 수 있습니까?

+0

혼란스럽게도 DisplayMember 속성은 데이터 바인딩과 함께 만 활성화되는 ValueMember 속성과 달리 ListControls의 "수동으로 추가 된"항목과 잘 작동합니다. –

+0

좋아, 그걸 몰랐어. 그리고 FormatString과 Format 이벤트도 있습니다. –

4

내 목록의 값이 SelectedValue에 할당하려고 시도한 값과 다른 int 유형이므로이 문제가 발생하여 귀중한 시간을 낭비했습니다. int32 대 int16. 당신을 미치게하는 것은 컴파일 에러 나 런타임 예외가 발생하지 않는다는 것입니다. 그것은 단지 작동하지 않습니다. 일치하는 int 유형을 가져 오면 잘 작동합니다! 콤보 박스를 바인딩하는 것은 필수적입니다.

+0

프랭크 고마워요! 메가 바이트의 막 다른 골목과 오해를 검색하고 분류 한 후, 마침내 누군가가 실패가 침묵했기 때문에 검색 할 수없는 문제를 해결합니다! 그리고 이것은 하나입니다! 그리고 21 명의 명성 점수를 가진 남자에게서 부팅합니다. 내 책에는 적어도 121 개의 명성 점수가 있습니다! 롤. – EllieK

관련 문제