2010-12-27 7 views
1

두 개의 상자 중 두 번째 상자에 값이 없으면 계단식 데이터 바인딩 된 콤보 상자가 있지만 원래 프로세스의 데이터 소스를 다음과 같이 변경하려고합니다. 디폴트의 ​​선택VB.Net에서 데이터 바인딩 된 ComboBox를 다시 바인딩 할 수 없다

그러나 콤보 상자를 지우려면 아무리 노력해도 문제가 발생합니다.

cboSubSystem.SelectedIndex = -1 
    cboSubSystem.DataSource = Nothing 
    Call cboSubSystem.Items.Clear() 

    cboSubSystem.DataSource = oSubSystem.EntityList 
    cboSubSystem.DisplayMember = oSubSystem.ORM.SubSystem_c 
    cboSubSystem.ValueMember = oSubSystem.ORM.SubSystem_c 

나는 또한 내가 뭘 잘못 http://support.microsoft.com/default.aspx?scid=kb;en-us;327244

같은 selectedIndex의에 대한 두 세트를 시도? 나는 그것이 단순한 무엇인가 확실하다. 그러나 나는 이것을 과거시킬 수 없다.

미리 감사드립니다.

편집 :

  • EntityList이 하나가 설정되어있을 때, 난 그냥 다른 하나를로드 할 서브 루틴을 호출의 드롭 다운은 서로 다른 데이터 소스를 사용됩니다 DTO
  • 에 대한 일반 목록입니다.
  • 오류 :
    • 현재 : "DataSource 속성을 설정하면 항목 컬렉션을 수정할 수 없습니다." 나는 맑은을 제거하려고하면 Items.Clear에서
    • , 내가 얻을 "새 값 멤버에 바인딩 할 수 없습니다 매개 변수 이름 :. 값을"는 valuemember에서는
+0

어떤 오류가 발생하며 어디에서 오류를 얻을 수 있습니까? oSubSystem과 그 유형의 EntityList 및 ORM + SubSystem_c 유형은 무엇입니까? 몇 가지 소스 코드를 보여주십시오. –

+1

계단식 데이터 바인딩 콤보 상자는 어떻게 구현 되었습니까? 관계는 어디에 있습니까, 두 콤보 상자 모두 동일한 데이터 소스를 사용합니까? –

+0

ORM은 DTO에 대한 열 이름의 문자열 값입니다.이 경우에는 "SubSystem_c" – RiddlerDev

답변

1

내 문제 발견 설정합니다. 두 번째 콤보 상자를로드 한 인덱스 변경 이벤트 루틴이있었습니다. 그 콤보 박스는 선택된 인덱스를 사용했고, 분명히 데이터 소스를 잠그기 만하면 그것을 지울 수 없었습니다. 새로 고침 프로세스를 다시 조정하여 문제를 해결할 수있었습니다.

관련 문제