6

因此,您被分配构建一个基本的 CRUD 应用程序。它有一个用于列出所有库存项目的页面......如果您的用户想要编辑其中任何一个,每个项目旁边都有“编辑”按钮。

你知道该怎么做。

我最近的任务是修改其中一个这样的 CRUD 页面,它看起来相当难看。所以我决定它可以使用一些抛光。

但是考虑一下......我想知道在创建显示大量数据的 CRUD 页面时使用网格有什么好的替代方法?

抛开 ajax/速度/安全/实施问题...

在大型 CRUD 页面中使用网格有哪些好的替代方法?

如果这很重要,我愿意用一些可用性换取美学。

4

3 回答 3

7

对于为大量记录显示相对较少的字段,像网格这样的表格显示没有任何问题,尤其是当任务涉及搜索或比较记录时。编辑按钮打开单独的窗口或页面进行编辑有问题。这意味着用户必须学习两个窗口以及如何在它们之间导航,而且这需要更长的时间。

一个很大的可用性改进是就地编辑:而不是只读网格,在网格(或代替网格)中为字段(文本框、复选框、组合框等)提供一组适当的控件)。页面上的单个“保存”按钮可保存对所有记录的所有更改(或者您为相应事件自动发布更改)。

如果您需要为少量记录显示大量字段,则类似表单的布局(可能是选项卡式)是表格布局的替代方案。您可以提供分页控件(例如,看起来像 Recordset 控件的东西)以允许用户在记录之间进行分页。

如果您有大量记录大量字段,则可以通过主从组合将表格与类似表单的布局结合起来。页面顶部的表格显示记录的关键字段,而页面底部的表格显示表格中当前具有焦点的任何记录的“溢出”字段。

另一种选择是以图形方式显示记录。选择两个字段并用 x 和 y 坐标表示每条记录的值,这些坐标用于在页面上定位图标。如果任务涉及搜索模式或相互关联的记录,这很好。具有焦点的记录(图标)的附加字段可以在页面的详细信息部分以类似表单的布局显示。

您可以做的另一件事是在表格或类似表单的布局中以图形方式表示某些字段(例如,使用图标、迷你条形图、阴影或颜色编码等)。这可以帮助用户搜索具有特定值的记录。它还可以在很小的空间中显示大量数据的一般要点(例如,作为迷你图)。

为您的用户、任务和工作环境选择能够最大限度地提高用户性能的布局。

于 2009-01-23T03:22:53.233 回答
2

单击时打开更多字段进行编辑的列表(而不是网格),或者打开新窗口或表单。这样一来,屏幕就不会从一开始就被数据过载,只要最重要的数据可用,它就非常有用。

一个示例是 Gmail 聊天联系人列表(此处为屏幕截图)。

在某些应用程序中,有助于减少显示所需信息的非常好的可用性触摸是一个很好的搜索/过滤框:当您在框中键入时,列表被过滤为匹配的条目。

于 2009-01-22T19:08:27.520 回答
0

要显示的数据是表格数据,因此以表格形式显示它们是有意义的,我看不到任何其他可接受的解决方案。

但是,可以组合不同的解决方案以功能方式呈现数据:

  • 如果您的主数据表检索并显示来自关系 MySQL 表的一些数据,您可以将它们显示在可折叠的嵌套表中
  • 原生浏览器滚动条有点丑,你可以使用一些Javascript插件比如OverlayScrollbars来改善用户体验
  • 一些 MySQL 数据必须第一眼显示,主要的重要信息,而另一些则是次要数据,只有用户想看才能显示的细节。为此,我使用了另一个插件,它将第一列添加到表中,当您单击它时,它会显示一个带有附加辅助数据的可折叠行。
  • 最后,如果您希望可以将表格主标题粘贴到顶部,以便用户始终可以看到列标题。

您可以在MySQL Sakila 数据库演示中看到所有这些技巧。

于 2020-11-20T09:26:26.207 回答