2010-07-06 44 views
0

我有一个实体可以修改,保存和删除,所以它会适合它会有一个工具栏在窗口的顶部,你可以按下其中一个动作按钮。可以提交父实体。内联工具栏的可用性

但是,此实体还具有可以修改,保存和删除的子实体。在父实体屏幕上有一个子实体的网格,然后用子实体值(可以保存,删除等)打开一个新窗口,或者我可以为这些子实体设置另一个工具栏。每个子实体都可以提交。

例如(内联):

//

[父实体]

| ------------------工具栏 - ------------------ |

[新子实体] [保存] [删除] [提交]

| ------------------工具栏-------- ------------ |

[父实体字段]

[子实体网]

| ------------------儿童实体工具栏------ -------------- |

[保存] [删除] [提交]

| ------------------儿童实体工具栏----------- --------- |

[子实体领域]

//

你会选择从中将设置儿童实体字段电网子实体。

我目前有一个单独的窗口的子实体,但我不喜欢有多个弹出窗口。有没有指导多少弹出窗口可用?

感谢

回答

1

一般来说,最佳的平衡是有在同一页上的父母子女实体的网格,与编辑就地两个父母和孩子的网格。 A 单个顶部的菜单/工具栏适用于两个网格。对于主从关系来说,这是相当普遍的做法,比如你为你的应用描述。例如,它由Windows资源管理器和Microsoft Outlook使用。

保存命令将保存任何自上次保存以来的更改,无论是创建,修改还是删除父母,子女或混合。删除删除当前选择的任何内容 - 一个或多个父母,一个或多个孩子,甚至是属性中的选定文本(例如,文本框内容)。新命令(或创建或插入)为任何具有焦点的网格创建一个新的默认实体。此设计为用户提供:

  • 单个简单的一组命令 - 例如,无需区分“提交”和“保存”。只需点击一下“保存”即可。

  • 最小的混乱和最少的冗余工具栏,允许用户以最少的滚动或其他操作尽可能多地查看和操纵数据对象。

  • 最小的导航工作量和学习开销 - 无需学习单独的窗口(您想要避免的多个弹出窗口)或父母和子实体的命令。

  • 没有任何模式可以降低灵活性,破坏用户的流程或整个过程,甚至强制破坏他们的工作(例如,由于与另一个过时对象发生密钥冲突,他们无法提交新对象,但他们可以删除过时的对象,因为它们处于创建新对象的模式中)。

主要缺点是用户可能会混淆工具栏命令目前所应用的对象。您不希望他们认为他们在删除父母(及其所有子女)时删除了孩子。为了避免这种情况,你需要使用适当的图形设计:

  • 弄清楚究竟是什么选择:一个完整​​的父母,整个儿,或属性的实体内。一次只能选择一件事物。保持一致,通常对整个选定的内容使用相同的彩色反向视频(黑暗中的光线),并避免将反向视频用于其他任何内容。考虑使用网格的当前记录标记或“object control”来区分从行内的属性中选择实体(网格的整个行)。

  • 区分有效父母和选择父母。活动父项与您在子网格中显示的内容相关联。总是有一个活跃的父母。选择的父亲是由用户明确选择的一个(例如,通过点击对象控件或当前记录标记)用于诸如删除之类的某个动作的父亲。有或没有选定的家长。可能有多个选定的父母(例如,通过移位或控制点击)。一般来说,活动的父级图形比选定的父级图形具有更微妙的图形。简单的当前记录标记(例如,左边的箭头)可能就足够了。查看文件管理器,例如Windows资源管理器(其中文件夹是父文件,文件是孩子),以获取其他活动与选定区别的想法。

  • 可能使用动态工具栏控件标签备份这些图形。当父网格处于活动状态时,使用“删除[父类名称]”标签删除,同样当子网格处于活动状态时。如果空间不允许这么多文本,请使用工具提示。

  • 包含一种方法来清楚地指示当前网格(这主要是指示New将创建什么实体)。围绕网格或网格标题的增强边框可能就足够了。否则突出网格标题(类似于为活动窗口所做的)也可能是好的。

  • 提供撤销。如果用户在小孩打算意外时不小心吹走了父母,那么一次点击就会扭转伤害。无论如何,所有丰富的应用都应该撤销。如有必要,还包括删除父项或子项的警告(与删除实体属性的某些文本相反)。

+0

感谢您的回复。提交是与保存分开的业务规则。 假设我想创建一个集合,并且此集合有五个自己的字段,然后是其子集。我需要能够添加项目到这个集合,保存并提交每个独立的收集项目,并保存并提交整个集合。 现在我有一个工具栏及其字段的集合,以及子元素的网格。当用户想要修改或添加一个时,会出现一个新的窗口,供他们可以保存提交的子元素等。 – williamparry 2010-07-10 04:44:13

+0

我担心使用太多弹出窗口,但分离似乎是最清楚的。 我可以独立打开每个收集项目(我不需要看父母),因为父母可以更改。这相当混乱。 – williamparry 2010-07-10 04:45:43