2009-04-22 2 views
0

나는 범주는 하나의 부모를 가질 수 범주의 계층 구조가 (당신이 아이들의 여러 수준을 가질 수 있습니다.) I는 사용자 그리고이 정보를 표시하는 방법을 조사하고 있습니다계층 시각 디자인

기본 바닐라 트리 레이아웃처럼 보인다는 것은 가장 직관적 인 방법입니다. 그러나 누군가 다른 접근법을 제안 할 수 있는지 궁금합니다.

요구 사항이 될 것이다가,

1) 명확하게 사용자에게 보여리스트의 상위/하위 관계 2) 사용자가 쉽게 드래그 앤 드롭 또는 다른 방법) 3에 의해 주위 (여부를 항목을 이동할 수 있습니다) 부모님이 여러 명인 계층 적 데이터가 있다고 가정 할 때, 그 선택을 어떻게 바꿀 수 있습니까?

감사합니다. - Kevin

답변

2

기본 트리 컨트롤은 계층 관계를 표시하는 데 큰 성공을 거두었습니다. 초보자를위한 학습은 상대적으로 쉽고 이제 계층 구조의 사실상 표준입니다. 릴레이션 편집, 특히 드래그 앤 드롭으로 매우 적합합니다. 계층 적 깊이가 대상에 따라 임의로 변할 때 (즉, 나무 위의 어떤 물체에 대해서도 자식, 손주, 증손자 등이있을 수있는 유일한 대안이 될 수 있습니다.).

트리의 기본 대안은 마스터 - 세부 정보 창이있는 창입니다. 이 디자인에서는 한 창에 상위 개체가 포함되고 다른 창에는 하위 개체가 포함됩니다. 부모 개체를 선택하면 자식 창에 자식이 채워집니다. 필요한 경우 그랜드 아이 창과 대단위 창을 가질 수 있지만 일반적으로 마스터 세부 정보는 계층에 고정 된 작은 수의 레이어가있을 때 가장 잘 작동합니다. 사용자는 드래그 앤 드롭으로 부모 - 자식 관계를 편집하고 트리 컨트롤을 사용하는 것과 마찬가지로 창 내부 또는 창간에 자식 개체가 붙여 넣기/복사 (&)됩니다.

마스터 - 세부 사항은 다음과 같은 경우에 나무에 비해 일반적으로 더 나은 : 여러 속성을 보여줄 필요가 각 객체에 속성

  • . 예를 들어 주어진 프로젝트 개체의 경우 각 팀 구성원의 직원 번호뿐만 아니라 해당 이름, 역할, 제목, 부서 및 사진도 나열하려고합니다. 마스터 디테일을 사용하면 각 창을 테이블이나 폼으로 배치하여 각 개체에 대해 많은 것을 보여줄 수 있습니다. 트리 컨트롤은 종종 비효율적이고 혼란스러운 속성 대화 상자를 사용하여이를 수행합니다.

  • 어린이를 세분해야합니다. 예를 들어 특정 Project 개체의 경우 팀 구성원을 프로젝트 단계와 별도로 유지하려고합니다. 마스터 세부 사항을 사용하면 단일 상위 창에 대해 두 개 이상의 하위 창을 가질 수 있습니다. 한 창에는 팀 구성원이 나열되고 다른 창에는 스테이지가 나열됩니다. 관계없는 자식 객체를 트리 컨트롤로 분리하는 것은 어색합니다.

  • 각 자식이 여러 부모를 가질 수 있고 여러 부모를 가질 수있는 다 대다 관계가 있습니다. 예를 들어 각 프로젝트에는 여러 명의 직원 (팀원으로)이 있지만 각 직원은 여러 프로젝트에서 작업 할 수 있습니다. 상위 창에는 프로젝트가 있고 하위 창에는 팀 구성원이 있고 하위 창에는 상위 창에있는 직원과 하위 창에 프로젝트 지정 창이 있습니다. 그렇지 않으면 두 창을 모두 가질 수 있습니다. 트리 컨트롤은 사용자가 동일한 하위 항목이 두 개 이상의 상위 항목 아래에있을 것으로 예상하지 않기 때문에 다 대다 관계가있을 때 사용자를 혼동시킬 수 있습니다.

0

시각적 인 흐름 차트 스타일 디자인을 추가하여 더욱 매력적으로 만들 수 있습니다. 얼마나 멀리 가고 싶습니까? 이것은 여러 학부모에게 도움이 될 것입니다.

1

TreeGX는 표준 트리와 다른 방식으로 계층 데이터를 표시하는 좋은 방법입니다 (link is here).

검색 결과를 표시하기 위해 구성 요소를 사용하고 무료가 아니지만 고유 한 것을 제시하고 싶다면 돈을 가치가 있습니다.

0

귀하의 질문은 귀하의 디자인 문제를 추상적 인 것으로 간주합니다. 불행히도 간단하지 않습니다. 단 하나의 완벽한 솔루션 만 있다면!

UI 디자인은 매우 상황에 맞게 구성됩니다. 사용자 그룹 (즉, 필요, 목표 및 기대치)과 지원하려는 활동 유형 (즉, 사용자가이 트리를 탐색 할 때 정확히 무엇을하고 있는지, 목표는 무엇입니까? 앱을 매일 또는 일 년에 한 번 등). 당신의 맥락에서 작동하는 것이 다른 곳에서는 잘 작동하지 않을 수도 있습니다.

은 "빠른 프로토 타입을 만들어 최종 사용자의 샘플에서 테스트하십시오"라고 말하면 항상 실망합니다.. 그것은 더 많은 작업과 typcial 개발자의 안락 영역 밖입니다. 그러나 UI가 주어진 컨텍스트에 맞는지 확인하는 유일한 방법입니다.

관련 문제