2011-08-17 2 views
0

누구든지 다 대다 관계를 설정하기위한 UI를 만드는 가장 좋은 방법에 대해 조언 할 수 있습니까?Many-to-Many 관계에 대한 UI는 어떻게 만듭니 까?

이전 질문의 예제를 사용하십시오. 목록 < < - >> 환자.

두 개의 별도 테이블보기를 만들 수 있습니다. 하나는 목록 용이고 다른 하나는 환자용입니다. 사용자는 별도로 생성 된 2 개의 어레이 컨트롤러 (목록 및 환자)를 사용하여 목록 및 환자를 만들 수 있습니다. 하나는 목록 엔티티에 연결되고 다른 하나는 링크 된 개체 환자 엔티티로

이제 선택한 목록에있는 환자 만 표시하는 표보기를 작성하여 목록에서 환자를 추가/제거 할 수 있습니다. 이렇게하려면 Lists.selection.patients에 대한 컨텐트 세트 바인딩이있는 엔티티 Patient에 연결된 Array Controller (ListPatients)를 만듭니다. 그때 새로운 환자가 만든 가져옵니다 ListPatients.add 방법에 단추를 결합하면

이제 상황이 여기에에서 잘 작동하지 ....

은 - 단순히 새로운 관계를 추가 할 수있는 방법은없는 것 같다 기존 환자와 목록 사이.

이상적으로 내가 할 수있는 일은 환자를 선택하는 드롭 다운 목록을 갖는 것입니다.

이 관계를 나타 내기 위해 새 엔터티를 만들지 않고도이를 수행하는 것이 가장 좋은 방법에 대한 제안이있는 사람이 있습니까?

답변

0

List 테이블 또는 Patient 테이블이 특정 시간에 마스터 또는 세부 정보 인 스와핑 마스터 - 디테일보기가 필요합니다. List가 마스터 도면이다

, 행을 선택하는 단계 상세도가 rowList.patients 관계 Patient 모든 오브젝트를 표시하게된다. Patient이 마스터보기이면 행을 선택하면 상세보기에 개체가 모두 rowPatient.lists 관계로 표시됩니다.

정말 사용자가 두 테이블 간의 관계를 명확하게 파악할 수 있도록 UI를 해체하고 싶습니다. 필자는 각각의 Master-Detail 설정에 대해 각각 2 개씩 4 개의 테이블 세트를 권장합니다. 그렇게하면 사용자는 자신이보고있는 것을 이해하게됩니다.

이렇게하면 새 개체를 쉽게 추가 할 수 있습니다. 세부 테이블 아래에 add new 버튼을 놓으면 사용자는 마스터보기에서 선택한 객체의 관계에 새 객체를 추가한다는 것을 알 수 있습니다.

+0

TechZen - 감사합니다. 내가 가진 문제는 마스터 세부보기를 만드는 방법입니다. - List -> Patient 마스터 세부 정보보기 - 사용자가 새로운 Patient 오브젝트를 작성할 수있을뿐만 아니라 사용자가 기존의 Patient 오브젝트를 선택할 수있게합니다. 선택한 목록의 환자 목록에 포함 할 환자 개체입니다. 환자가 여러 List에 나타날 수 있으므로 선택된 List 개체에 대한 Patient 개체를 만들면이 Patient 개체를 선택하여 다른 List 개체에 추가 할 수 있어야합니다. –

+0

그래서이 요구 사항을 처리하기 위해 어레이 컨트롤러, 테이블 뷰 및 팝업 목록을 어떻게 구성해야합니까? 많은 List 객체와 환자 객체의 개별 개수를 만드는 간단한 사례를 고수 할 수 있습니다. 별도의 테이블 뷰 및 어레이 컨트롤러를 사용하면 충분합니다. 이제 사용자가 여러 Patient 객체를 선택하고 List 객체에 추가 할 수있게하는 데 사용할 메커니즘은 무엇입니까?일부 맞춤 코드를 사용하지 않고 표준 작업을 수행하는 표준 방법이 없습니다. 예를 들어 각 항목 옆에 체크 박스가있는 목록 개체 목록을 표시하는 경우를 예로들 수 있습니다. –

+0

댓글에 대해 좀 자세히 설명되어 있습니다. 다른 질문을하고 싶을 수도 있습니다. 나는 물건을 간단하게 유지할 것입니다 : 단지리스트 오브젝트의 테이블과 선택된 오브젝트의 테이블을 선택된리스트에 고정하십시오. 다른 쌍의 표를 다른 방법으로 설정하십시오. UI의 작은 부분에 많은 기능을 넣지 마십시오. – TechZen

관련 문제