用于选择多个记录的良好 UI 示例

2024-03-25

我目前正在重新审视基于 Windows 的软件的一个区域,并考虑将关系从 1->M 更改为 M->M。因此,我需要调整 UI 以适应选择多个相关记录。

有很多常见的方法可以处理这个问题,但通常都很笨拙。示例包括所有项目的两窗格列表和所选项目的列表,或所有记录的列表以及每个适用的记录旁边的复选框。

就我而言,可能有大量(数以万计)的记录可以关联,因此我可能需要包含某种搜索机制。

我并不是在寻找一个硬性且快速的答案-- 我可以很容易地实现一些功能性的东西,我想看看这里是否有人想出了(或看到)任何很棒的 UI 来完成这种事情,无论是基于 Web、Windows、Mac、Unix,还是其他。

图片或链接将不胜感激!

编辑:这是我正在考虑的一个例子:


我喜欢 StackOverflow 将许多标签与许多问题联系起来的方式:

Items are displayed as user types

  1. 显然,您从要与多个项目关联的记录开始。

  2. 当您键入时,搜索会显示匹配项(无需按“搜索”)

  3. 用户选择所需的记录(排序会很好。SO 使用“标签相关性”。例如,输入“a”会带来 Java 而不是 asp,因为 Java 比 asp 有更多问题,在您的情况下,相关性可能是用户名)

  4. 系统创建关系(在内存中)

  5. 如果有多个记录( 5+ )填充输入字段,它们将被移动到半规则区域(不是一个 SO 问题,因为它只有 5 个标签和一个问题,但在你的情况下类似于“有趣的标签” “需要功能)

Associated items are moved to a "rigid" area

当然是以有序的方式(使用表格)

  • 最后,当用户结束关联时,单击“保存”或“取消”按钮。

这种方法的效率更高,因为不需要用户按“搜索”或“添加其他”,这会分散他们对正在做的事情的注意力,据说这会打断用户的思路。

另外,如果你让用户在打字时抓住鼠标点击某些东西,UI 的效率就会降低(我认为有一种叫做希克定律 http://en.wikipedia.org/wiki/Hick%27s_law关于这一点,但坦率地说我可能是错的)

正如您所看到的,这种方法几乎已经是您所想到的,但是添加了一些设施以使用户更满意(如果用户喜欢这种方法并希望在系统的其他部分使用它,则危险将是存在的)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于选择多个记录的良好 UI 示例 的相关文章

  • 是否可以从数据库转储生成 knex 种子文件?

    就我而言 我使用的是 mysql 但是 我正在寻找一种通用解决方案 用于从当前运行的数据库或数据库转储生成 knex 种子文件 我可以就像是 https github com tgriesser knex issues 944 issuec
  • InnoDB 或 MyISAM - 为什么不两者都使用呢?

    我读过各种关于两者之间哪个更好的主题InnoDB and MyISAM 看来争论的都是使用还是其他 根据表的不同 是否不能同时使用两者 这样做会有什么缺点 据我所知 发动机可以在CREATE TABLE命令 因此 某些经常读取的表可以设置为
  • Node.js 和代码优先

    我使用代码优先方法开发实体框架 现在我正在学习 Node js 我想知道是否有一种方法可以使用 Node js 和一些库来实现相同的代码优先方法 我正在考虑使用MySql作为数据库 你可以看看续集 http docs sequelizejs
  • 未使用的功能会产生什么后果

    我想知道在代码中使用未使用的函数会产生什么 如果有什么后果 如果您查找并删除所有未使用的函数和变量 性能是否会有明显的改进 或者删除未使用的函数和变量只是一个好习惯 未使用的功能不会损害性能 他们让维护代码的人的工作变得更加困难 现代 ID
  • 如何解析 Google Alerts 中的数据?

    首先 除了解析 Google 发送给您的电子邮件文本之外 您如何将 Google Alerts 信息存入数据库 似乎没有 Google Alerts API 如果您必须解析文本 您将如何解析电子邮件的相关部分 创建警报时 将 传送至 设置为
  • MS Access:在列中搜索星号/星号

    我正在寻找一种方法来搜索包含字符串数据类型的列 问题是星号或星号是保留符号 以下查询无法正常工作 select from users where instr pattern 如何编写 Access 查询来搜索列中的星号 您可以使用方括号在
  • 如何在SQLite中的两个表之间复制数据?

    我有两个具有不同列的表 如下所示 table1 id title name number address table2 id phone name address 如何将数据 名称 地址 从表 1 复制到表 2 我的问题有两种情况 第一 t
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见
  • Winforms 风格/UI 外观和感觉提示

    从多年的 asp net 开发回到 winforms 应用程序 寻找有关如何 设计 winforms 的建议和技巧 类似于我在 asp net 中使用 CSS 母版页的方式 我对如何在一处更新某些类型的控件的字体 颜色感兴趣 如何保持布局的
  • 多个数据库连接

    我有三张桌子 categories content info and content The categories表包含类别的id及其 IDparent类别 The content info包含两列 entry id帖子的 ID 和cat
  • MySQL - 替换列中的字符

    作为一个自学成才的新手 我给自己制造了一个大问题 在将数据插入数据库之前 我将字符串中的撇号 转换为双引号 而不是 MySQL 实际需要的反斜杠和撇号 在我的表增长到超过 200 000 行之前 我认为最好立即纠正此问题 所以我做了一些研究
  • 带有 ListTiles 和按钮行的 Flutter 下拉菜单

    我正在尝试构建一个自定义下拉菜单 如下所示 我已经成功地实现了ListTiles and Row of Buttons没有下拉菜单 但我不确定如何将所有内容嵌套在下拉菜单类中 这是我到目前为止所得到的 class HomePage exte
  • 如何使用Python在没有窗口的情况下在屏幕上显示文本

    问题 我需要在没有窗口的情况下直接将文本写入屏幕 文本需要显示在所有其他窗口和全屏应用程序之上 并且不应以任何方式单击或交互 Example The text doesn t need to have a transparent backg
  • 使用 POJO 仅更新 JOOQ 记录中已更改的字段

    我想使用 POJO 作为源来更新 JOOQ 记录中已更改的字段 Record from Object http www jooq org javadoc 3 8 x org jooq Record html from java lang O
  • 删除 mysql 数据库中超过 3 个月的行的作业

    我们使用 mysql 服务器作为集中式日志系统 我希望有一项工作来定期删除 清理超过 3 个月的表条目 做这个的最好方式是什么 提前致谢 hinling 您是否在字段中存储项目的创建日期 If so DELETE FROM myTable
  • 使用DBFlow,如何加密已经存在的数据库?

    我正在使用 DBFlow 来处理项目中的数据库 并且我想对现有数据库进行加密 我知道我可能必须删除现有的未加密数据库并创建另一个加密数据库 我也知道我可以将 SQLCipher 与 DBFlow 一起使用 如上所述文档 https gith
  • 如何随着分辨率的变化自动调整大小和调整表单控件

    我注意到某些应用程序会更改控件的位置以尽可能适应当前的分辨率 例如 如果窗口最大化 则控件的设置方式应使整个 GUI 看起来平衡 是否可以使用 C 在 Visual studio 2010 中制作或实现此功能 Use Dock http m
  • 以任意顺序匹配可选捕获组

    在解析用户输入的许多情况下 用户有机会向输入添加几个可选标志 这些标志应该以任何顺序接受 如何使用正则表达式对其进行解析 以便每个标志都位于它自己的捕获组中 如果存在 例如 有一个必需的令牌a 然后是 3 个可选标记 可以按任何顺序出现b
  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 什么会导致 Oracle ROWID 更改?

    AFAIK Oracle 中的 ROWID 表示相应数据文件中记录的物理位置 在什么情况下记录的ROWID可能会改变 我所知道的一个是分区表上的更新 它将记录 移动 到另一个分区 还有其他情况吗 我们的大多数数据库都是 Oracle 10

随机推荐

  • 如何对类或函数定义进行哈希处理?

    背景 在尝试机器学习时 我经常通过 pickling unpickling 的方式重用之前训练过的模型 然而 在进行特征提取部分时 不混淆不同的模型是一个挑战 因此 我想添加一项检查 以确保使用与测试数据完全相同的特征提取过程来训练模型 P
  • 使用 nginx proxy_pass 和重写的多个 django 应用程序

    我有一个名为的 django admin 应用程序myapp我想在不同的物理盒子上部署多个实例 每个客户一个 但是 我希望它们都可以从类似的域访问 mydomain com customer1 myapp 我摆弄了特定的代理设置 并尝试了多
  • 如何在 JSF2 中将一个 @Named bean 注入到另一个 @Named bean 中?

    我有以下代码 Named RequestScoped public class SearchBean private String title private String author getters and setter s In se
  • C++ 中的结构对齐

    struct Vector float x y z func Vector vectors usage load float coords load file func coords 我有一个关于 C 中结构对齐的问题 我将把一组点传递给函
  • 如何检测scala执行上下文耗尽?

    我的 Playframework 应用程序有时没有响应 我想在运行时检测到这一点 记录有关当前在耗尽的执行上下文上运行的内容的信息 实现这一目标的最佳策略是什么 我考虑过将小型可运行对象发布到执行上下文 如果它们没有及时执行 我会记录一条警
  • 在 TabLayout 支持库中以编程方式设置选项卡指示器位置

    在我的应用程序中 我使用支持库中的 TabLayout 和视图寻呼机 其中有 3 个片段 假设我在 fragA 中 其中有一个按钮 单击该按钮会将我带到 fragB 我成功地转到 fragB 但唯一的问题是选项卡指示器保留在fragA Co
  • Meteor:读取简单的 JSON 文件

    我正在尝试使用 Meteor 读取 JSON 文件 我在 stackoverflow 上看到了各种答案 但似乎无法让它们发挥作用 我有试过这个 https stackoverflow com questions 22004412 how t
  • 如何使用 WPF 获得本机“外观和感觉”?

    我刚刚开始开发 WPF 应用程序 这不是我的第一个 WPF 应用程序 但它将是第一个需要改进的应用程序 我对 WPF 的 管道 了解很多 例如绑定等 但对如何完善它知之甚少 我不需要时髦的用户界面 我只需要一些看起来像本机 Windows
  • 从 Trello 身份验证中获取“未找到应用程序”

    我正在尝试调用 Trello API 的身份验证部分以获得用户令牌 我正在使用这个网址 https trello com 1 authorize callback method postMessage return url http 3A
  • python 模拟和未安装的库

    我正在为机器人开发软件 该软件通常在 Raspberry Pi 上运行 让我们考虑两个文件的导入 motor py 运行电机 from RPi import GPIO as gpio and client py 与服务器通信并将命令转发给电
  • 检查用户的 Postgres 访问权限

    我已经查看了文档GRANT Found here http www postgresql org docs 9 0 static sql grant html我试图看看是否有一个内置函数可以让我查看数据库的可访问性级别 当然有 dp and
  • 需要 viber webservice 或 api 地址 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 api 或 web 服务可以通过 c net 通过 viber 发送消息并获得交付 我用谷
  • 在 Flink 中,我可以在同一个槽中拥有一个算子的多个子任务吗?

    探索Apache Flink几天了 对Task Slot的概念有些疑惑 虽然有人问了几个问题 但有一点我不明白 我正在使用一个玩具应用程序进行测试 运行本地集群 我已禁用运算符链接 我从文档中知道插槽允许内存隔离而不是 CPU 隔离 阅读文
  • 使用STL的红黑树内部实现

    我知道我的STL g 4 x x附带 使用红黑树来实现地图等容器 是否可以直接使用STL内部的红黑树 如果是这样 怎么办 如果不是 为什么不 为什么STL不公开红黑树 令人惊讶的是 我无法使用谷歌找到答案 编辑 我正在研究使用红黑树作为插入
  • Android - 如何将 html 转换为 pdf? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 Android SDK 中创建 PDF https stackoverflow com questions 2499960 how to create pdfs in android sdk
  • Android:清单合并因多个错误而失败,请使用 Braintree 查看日志

    当我添加时 我收到此错误Braintree dependency 执行失败 for task vtg processDevDebugManifest 清单合并失败并出现多个错误 请参阅日志 Braintree 版本 应用程序 Gradle
  • 旋转图像后如何合并两个图像?

    旋转图像后如何合并旋转图像 我使用下面的代码 它在图像旋转之前工作正常 如何解决这个问题 请帮我 提前致谢 CGRect backgroundImageRect CGRectMake 0 0 0 0 itemSize width itemS
  • 如何使用 Jinja2 模板提供博客摘录而无需显示 html 代码?

    目前 我正在将 jinja2 与 Flask 结合使用 并使用 ckeditor 在数据库中存储了一篇博客文章 理想情况下 数据应首先显示图像 然后显示博客文章和外部链接到 flikr 的其他一些图像 我知道我可以使用 post body
  • Ecto迁移中如何动态更新字段值?

    我有一个用户表 例如 email username email protected cdn cgi l email protection email protected cdn cgi l email protection email pr
  • 用于选择多个记录的良好 UI 示例

    我目前正在重新审视基于 Windows 的软件的一个区域 并考虑将关系从 1 gt M 更改为 M gt M 因此 我需要调整 UI 以适应选择多个相关记录 有很多常见的方法可以处理这个问题 但通常都很笨拙 示例包括所有项目的两窗格列表和所