用户界面-UI设计/工作流:更改多个对象的相同属性



我正在寻找一个通用的UI设计/工作流程,用于在多个对象之间更改相同的属性。

假设我有一个名为Person的对象类。Person类有一个名为City的属性。我想在UI中的一个操作中选择5个Person对象并将所有5个对象上的City属性更改为"New York"。

这并不难用程序实现,但我很难想出一个直观的UI工作流程。一种想法是使用类似iTunes中使用的模态来更改多首选定歌曲的信息。我想提出另一个工作流程,因为这个想法已经在工作中被否决了。

想法?想法?

编辑:我很感激到目前为止的答案。我想指出几个额外的要点:

  1. 以前的城市值是否应该以某种方式显示?如果是,如何?或者,组合的属性屏幕应该如何显示当前所有城市值与颜色或其他指示器相同或不同
  2. 应该如何显示布尔属性(例如Person.IsAlive)?是否使用三态切换/复选框?我们有三个值的下拉列表吗?其他想法

采用iTunes解决方案,放弃模式窗口并在应用程序中显示它,否则将显示单个条目的编辑视图。请记住,iTunes还有一个用于编辑单个条目的模式窗口。

我可能会用一个相当标准的列表视图来实现这一点-允许多选-当您在任何选定记录(例如下拉列表)中更改一个字段并选择多个项目时,它会将所有项目更新为相同的值。

有时您可能想要禁用此操作,因此请在右侧设置一个链接项目,以指示所有项目都将一起更新。

一种方法是拆分窗格设置,所有人都在一边,人的所有属性都在另一边。

显然,这对于编辑单身人士来说效果不佳。

好吧,您确实需要手工挑选所有对象,所以多选似乎很自然。之后,您可以实现一个上下文菜单项(如果您已经有了上下文菜单,请将其作为名为Edit的子菜单),并将所有现有属性作为子菜单项提供。类似这样的东西:

  • 编辑
    • 名称
    • 城市
    • 等等

选择菜单项时,提示用户输入新值,然后更新所有记录。

如果这样的字段数量有限,可以使用类似于Word或Excel中的"复制粘贴格式"的范例。选择一个原型记录,右键单击,从菜单中选择"复制城市…",然后粘贴到其余部分。

但我更喜欢你最初的想法。。。

我已经通过编辑向导完成了类似的操作。我选择1-10000个不同的行,然后右键单击以显示编辑向导屏幕。显示的第一面板具有设置多达大约8个不同字段的能力。我允许更改的每个字段都将应用于所有行。每个字段旁边都有复选框,用于选择要更改的字段。选中后,显示一个文本框以捕获旁边的新值。如果所有行都具有相同的值,则它们显示为灰色,例如,如果同一城镇的所有行显示为灰色城镇,如果其中一行与第一行不具有相同的城镇,则用橙色突出显示城镇字段,并显示橙色消息"Warning-There rows different to the first selected row"。我做了一个确认页面来检查用户是否想要继续,然后点击一个最终确定按钮。然后在完成后重新显示行。

Rows to update : 3
    ..........Old Value... Change?....New Value
    Field A   ABC
    Field B   123          Y          845
    Field C   BOB 
                       [<Back] [Next>] [Finish]

<==如果其中一行在字段C中没有BOB,则用橙色突出显示BOB。

希望对有所帮助

最新更新