2015-01-27 3 views
0

표시 할 값을 조회하지만 다른 값을 저장하기 위해 2 개의 테이블이있는 데이터 집합을 사용하는 콤보 상자를 만들었습니다.데이터 바인딩 소스에있는 데이터를 기반으로 콤보 상자의 데이터 집합을 필터링

그것은이 위대한 블로그 (늪지에있는 두 그녀의 첫 번째 항목)에서 만들어진 : 지금은 누군가가 도움을 줄 수 바라고있는 걸릴 한 단계가 http://blogs.msdn.com/b/bethmassi/archive/2007/04/25/tips-on-related-data-binding-and-comboboxes.aspx

과 :

제 경우에는 콤보 박스가 '부모 ID'를 채우고 있습니다. 따라서 테이블에 부모 - 자식 계층을 구축하는 데 도움이됩니다. (테이블을 3 개의 열 (Id, Name, ParentId)로 생각하십시오.) 데이터 세트에는 두 개의 테이블이 있으며 실제로는 부모 테이블에 연결된 동일한 데이터베이스 테이블입니다.

위대한 작품 -하지만 좀 더 정리하고 싶습니다 : 콤보 상자에 목록에있는 아이의 이름을 표시하지 않아야합니다. 예. 가능한 다른 모든 선택 사항을 표시해야하지만 사용자가 자신의 부모로 선택하도록해서는 안됩니다.

바인딩 소스의 하위 ID를 참조하는 필터 쿼리를 사용해야합니까? 콤보 상자에 대한 데이터 집합의 select 문을 변경하고 매개 변수를 사용하여 자식 ID를 필터링해야합니까? 어떻게 접근해야할지 모르겠습니다.

명확하지 않은 경우 알려주세요 감사합니다.

답변

0

부모의 tableadapter에 대한 선택 쿼리를 변경하고 현재 자식을 채우기 매개 변수로 전달했습니다.

멋진 작품! (ID <> @curId) 및 (ID IN (된 table_1 (ParentID = @curId)))

표 이드 을 선택하지 :

(부모 선택에 추가 절은 같은 것이 있었다

-> 두 번째 부분이 추가되어 부모 중 하나가 자녀가 될 수 없습니다.