문제

카테고리가 단일 부모를 가질 수있는 카테고리의 계층 구조가 있습니다 (여러 수준의 자녀를 가질 수 있습니다.)

이 정보를 사용자에게 표시하는 방법을 조사하고 있으며 기본 바닐라 트리 레이아웃이 가장 직관적 인 방법 인 것 같습니다. 그러나 누군가가 다른 접근법을 제안 할 수 있는지 궁금합니다.

요구 사항은

1) 목록의 부모 / 자식 관계를 사용자에게 명확하게 보여줍니다. 2) 사용자가 항목을 쉽게 이동할 수 있도록 허용합니다 (드래그 앤 드롭 또는 기타 방법에 관계없이) 3) 여러 부모가있는 계층 적 데이터가 있다고 가정하면 어떻게 변경 될 것인가 당신의 선택?

모두 감사합니다! - 케빈

도움이 되었습니까?

해결책

기본 트리 제어는 계층 적 관계를 보여주는 데 큰 성공을 거두었습니다. 초보자에 대해 배우기가 상대적으로 쉽고 이제는 계층 구조에 대한 사실적인 표준입니다. 특히 드래그 앤 드롭에서는 관계를 편집하는 데 매우 적합합니다. 계층 적 깊이가 물체에 따라 임의로 변할 때 (즉, 나무의 모든 물체에 대해서는 어린이, 손자, 증손자 등이있을 수 있습니다. ).

트리의 주요 대안은 마스터-디테일 판이있는 창입니다. 이 디자인에서 한 창에는 부모 객체가 포함되어 있고 다른 창에는 자식 객체가 포함되어 있습니다. 부모 개체를 선택하면 어린이 창을 어린이와 함께 채 웁니다. 필요에 따라 할아버지와 증조 자식 공장을 가질 수 있지만, 계층 구조에 소량의 고정 된 층이있는 경우 일반적으로 마스터-디테일이 가장 잘 작동합니다. 사용자는 트리 컨트롤 사용과 유사하게 Windows 내부 또는 Windows 사이의 하위 물체의 드래그 앤 드롭 및 절단/복사 및 붙여 넣기를 통해 부모-자식 관계를 편집합니다.

마스터-하단은 일반적으로 다음과 같은 경우 나무보다 낫습니다.

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

  • 아이들을 세분화해야합니다. 예를 들어, 주어진 프로젝트 개체의 경우 팀 구성원을 프로젝트 단계와 분리하여 유지하려고합니다. 마스터 하이 테일을 사용하면 단일 부모 창에 대해 두 개 이상의 어린이 판을 가질 수 있으며, 하나의 창에 팀원이 나열되고 하나는 무대를 나열 할 수 있습니다. 관련없는 어린이 물체를 나무 제어와 분리하는 것은 어색합니다.

  • 당신은 각 자녀가 여러 자녀를 둔 부모뿐만 아니라 여러 자녀를 가질 수있는 다수의 관계를 가지고 있습니다. 예를 들어, 각 프로젝트에는 여러 직원 (팀원)이 있지만 각 직원은 여러 프로젝트에서 작업 할 수 있습니다. 부모 창에 프로젝트가 포함 된 창문과 하위 창에 팀원이 있거나 부모 창에있는 직원 및 어린이 창의 프로젝트 과제를 가질 수 있습니다. 사용자가 동일한 자녀가 한 명 이상의 부모가 될 것으로 기대하지 않기 때문에 많은 관계가있을 때 트리 컨트롤은 사용자를 혼동 할 수 있습니다.

다른 팁

TreeGX는 표준 트리와 다른 방식으로 계층 적 데이터를 표시하는 달콤한 방법입니다. 링크가 여기 있습니다.

나는 구성 요소를 사용하여 검색 결과를 제시하고 무료는 아니지만 독특한 것을 제시하고 싶다면 돈의 가치가 있습니다.

시각적 흐름도 스타일 디자인을 더 매력적으로 만들 수 있습니다. 얼마나 멀리 가고 싶은지는 완전히 당신에게 달려 있습니다. 이것은 여러 부모에게 도움이 될 것입니다.

귀하의 질문은 디자인 문제를 추상적 인 것처럼 취급합니다. 불행히도, 그것은 단순하지 않습니다. 만약 하나의 완벽한 솔루션이 있다면!

UI 디자인은 맥락화되어 있습니다. 사용자 그룹 (예 : 그들의 요구, 목표 및 기대치)과 지원하려는 활동 유형 (예 :이 나무를 탐색 할 때 정확히 무엇을하고있는 일은 무엇입니까? 목표는 무엇입니까? 그들이 사용할 것인가? 매일 또는 1 년에 한 번 앱? 등). 당신의 맥락에서 작동하는 것은 다른 곳에서는 잘 작동하지 않을 수 있습니다.

사람들은 말하면 항상 실망합니다 "빠른 프로토 타입을 만들고 최종 사용자 샘플에서 테스트하십시오". 여기에는 추가 작업이 포함되며 Typcial Developer 's Comfort Zone 외부에 포함됩니다. 그러나 UI가 주어진 컨텍스트에 적합한 지 확인하는 유일한 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top