层次结构的视觉设计[英] Hierarchy Visual Design

本文是小编为大家收集整理的关于层次结构的视觉设计的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我有一个类别的层次结构,其中类别可以拥有单亲(并且您可以有多个孩子.)

我正在研究向用户显示此信息的方法,似乎基本的香草树布局是最直观的方法.但是我想知道是否有人可以建议其他方法.

要求是

1)清楚地向用户证明了列表的父/子关系 2)允许用户轻松地移动项目(无论是通过拖放还是其他方法) 3)假设您有多个父母的层次数据,这将如何改变您的选择?

谢谢大家! -Kevin

推荐答案

您的基本树控制在显示层次关系方面取得了巨大的成功.对于新手来说,这相对容易学习,现在是层次结构的事实上的标准.它非常适合编辑关系,尤其是在拖放方面.当层次深度随物体任意变化时,这也许是唯一的可行选择(即,对于树上的任何对象,可以有孩子,孙子,曾孙,等等,而不是无限期的"世代". ).

树的主要替代品是带有主尾窗格的窗口.在此设计中,一个窗格包含父对象,另一个窗格包含子对象.选择父对象与孩子一起填充子窗格.您可以根据需要有孙子窗格和曾孙窗格,但是当层次结构固定数量少量时,总详细信息通常效果最好.用户通过拖放和剪切/剪切/复制和粘贴在窗口内或之间的子对象,类似于使用树控件类似.

类似.

主餐通常大于树木以下情况:

  • 您需要使用每个对象显示多个属性或属性.例如,对于给定的项目对象,您不仅要列出每个团队成员的员工号码,还要列出其各自的名称,角色,标题,分区和照片.有了主尾,每个窗格都可以作为表或表格布置,使您可以显示每个对象的大量内容.树控件通常诉诸效率低下且令人困惑的属性对话框以实现这一目标.

  • 您需要细分儿童.例如,对于给定的项目对象,您希望将其团队成员与项目阶段分开.有了主尾,您可以为单亲窗格提供两个或多个儿童窗格,其中一个窗格列出了团队成员,一个列出了阶段.通过树控件将无关的子对象分开是尴尬的.

  • 您有多一的关系,每个孩子都有多个父母以及每个父母有多个孩子.例如,说每个项目都有多个员工(作为团队成员),但每个员工都可以从事多个项目.您可以在父窗格中有一个带有项目的窗口和儿童窗格中的团队成员,或者是父母窗格的员工和儿童窗格的项目分配,也可以两个窗户.当存在多个关系时,树的控制可能会使用户感到困惑,因为用户期望同一孩子不在一个以上的父母下.

其他推荐答案

treegx是一种以与标准树不同的方式显示层次数据的甜蜜方法 -链接在这里.

我使用该组件提出搜索结果,虽然不是免费的,但如果您想提供独特的东西,则值得一提.

其他推荐答案

您可以放置​​一些视觉流程图设计,以使其更具吸引力.您要走多远完全取决于您.这将帮助您与多个父母.

本文地址:https://www.itbaoku.cn/post/627336.html

问题描述

I have a hierarchy of categories, where a category can have a single parent (and you can have multiple levels of children.)

I'm investigating ways to display this information to the user and it seems like a basic vanilla tree layout is the most intuitive way to go. But I'm wondering if anyone can suggest other approaches.

The requirements would be,

1) clearly demonstrate to the user the list's parent / child relationships 2) allow the user to easily move items around (whether by drag and drop or some other method) 3) Assuming you had hierarchal data that had multiple parents, how would that change your choice?

Thanks everyone! - Kevin

推荐答案

Your basic tree control has been a great success for showing hierarchical relations. It’s relatively easy to learn for novices and is now the de facto standard for hierarchies. It is very suitable for editing relations, especially with drag and drop. It is perhaps the only viable choice when the hierarchical depth varies arbitrarily by object (i.e., for any object on the tree, there can be children, grandchildren, great-grand-children, and so on to an indefinite number of “generations.”).

The primary alternative to tree is a window with master-detail panes. In this design, one pane contains parent objects and another contains child objects. Selecting a parent object populates the child pane with its children. You can have grand-child panes and great-grand-child panes as necessary, but master-details generally work best when there is a small fixed number of layers to the hierarchy. Users edit the parent-child relations by drag-and-drop and cut/copy & paste of child objects either within or between windows, similar to using a tree control.

Master-details are usually better than trees for the following cases:

  • You need to show multiple properties or attributes with each object. For example, for a given Project object, you want to list not only the Employee Number for each Team Member, but also their respective Names, Roles, Titles, Divisions, and photographs. With a master-detail, each pane can be laid out as a table or form allowing you to show a lot about each object. Tree controls often resort to inefficient and confusing Properties dialogs to accomplish this.

  • You need to subdivide children. For example, for a given Project object, you want to keep its Team Members separate from its Project Stages. With a master-detail, you can have two or more child panes for a single parent pane, with one pane listing the Team Members and one listing the Stages. It’s awkward to keep unrelated child objects separate with a tree control.

  • You have many-to-many relations, where each child may have multiple parents as well as each parent having multiple children. For example say each Project has multiple Employees (as Team Members) but each Employee may work on multiple Projects. You can have a window with Projects in the parent pane and Team Members in the child pane, or Employees in the parent pane and Project Assignments in the child pane, or you can have both windows. Tree controls may confuse users when there are many-to-many relations because users don’t expect the same child to be under more than one parent.

其他推荐答案

TreeGX is a sweet way to display hierarchical data in a different fashion from the standard tree - link is here.

I use the component to present search results and while it is NOT free it is worth the money if you want to present something unique.

其他推荐答案

You can put some visual flow chart style design to make it more engaging. How far you want to go is totally up to you. This will help you with multiple parents.