2013-09-30 3 views
2

내가 버튼이 나는 그것을에서 항목을 제거하려면 클릭하면 제거 항목

ddlNumbers.DisplayMember = "PhoneNumber"; 
ddlNumbers.DataSource = mobileList; 
ddlNumbers.SelectedItem = null; 

을 채워 된 드롭 다운리스트를 윈폼.

ddlMobileNumbers.Items.RemoveAt(i); 

하지만 예외가 발생합니다. '데이터 소스 속성이 설정 될 때 Items 컬렉션은 수정할 수 없습니다 ...'

나는 또한 DataSource

ddlNumbers.DataSource = myNewList 

에 컬렉션을 재 할당 시도했지만 작동하지 않습니다.

내가 뭘 잘못하고 있니?

답변

5

바인딩 된 컨트롤의 데이터 원본을 null 일시적으로 제거하고 목록에서 항목을 제거한 다음 데이터 원본을 다시 설정하면 컨트롤을 바인딩 할 때 목록에서 항목을 제거 할 수 없습니다.

뭔가 같은

//Null the datasource 
Combobox1.Datasource = null; 

//Remove the item 
ddlMobileNumbers.Items.RemoveAt(i); 

//Set the source again 
Combobox1.Datasource = ddlMobileNumbers; 
+0

'목록 contactList = (목록 ) ddlNumbers.DataSource; ddlNumbers.DataSource = null; contactList.RemoveAt (i); ddlNumbers.DataSource = contactList; ' 좋아요? @AccessDenied – ojhawkins

+0

좋아,이 일을, briliant @ AccessDenied – ojhawkins