【问题标题】:Best way to display this in a form?以表格形式显示它的最佳方式?
【发布时间】:2010-11-22 20:46:41
【问题描述】:

在我的网站上,我有两个使用数据透视表链接的表。我想做的是让用户更新两个表之间的关系(从数据透视表中插入和删除记录)。我在 PHP 中这样做没有问题,但我关心的是表单在用户 Web 浏览器中的显示方式。

我现在这样做的方式是有一个充满复选框的表,每个复选框对应于列标题和行标题(代表数据库表)之间的关系。用户可以选中复选框来告诉 PHP 应该存在该关系的记录(未选中的框表示没有关系)。但是,如果有很多列和很多行,这种方法会变得非常丑陋(列延伸到页面边界之外),并且使用起来有点乏味。

向用户显示此表单的好方法是什么?

【问题讨论】:

  • 我们能否对您所描述的内容提供一些视觉线索?可能显示类似内容的链接?

标签: php javascript html forms user-interface


【解决方案1】:

也许使用数据网格?这些功能非常强大:

不过,让它通过 Ajax 工作可能是一项耗时的任务。

【讨论】:

    【解决方案2】:

    由于这更多的是关于应用程序的 UI,因此我认为不会有一个正确的答案,因为它将归结为有效的组合(如果不能看/玩东西)和您的个人喜好。

    我会经历一些进展:

    • 视觉反馈
      通过向用户提供视觉反馈,使您的表格更具交互性。在最基本的层面上,尝试为单元格添加一些颜色 - 为那些被选中的单元格添加颜色。这将允许用户快速查看哪些选项正在“起作用”。这可能是相反的效果更好(突出显示未检查的单元格) - 但这一切都取决于表单正在做什么/打算指示 - 即,如果更重要的是明确未检查状态是坏的,你可能希望这些是红色。

    下一个级别是添加一些动态突出显示。如果表格很大,您可能需要突出显示与光标下的单元格对应的行和列标题单元格。您还可以考虑突出显示整行/列(十字线样式)以允许用户检查“同伴”单元格。

    • 动态表
      稍微多一点涉及的是为您的餐桌添加一些香料。不要显示复选框的行和列,而是使用图形图标/图像。它们在视觉上要容易得多,并且可能会让您更严格地控​​制桌子的尺寸。然后可以通过 Javascript 和单击完成整个 UI - 如果您使用 JQuery 之类的东西,这在当今非常容易。

    • 拆分界面
      这是基于以下假设:表 A 和表 B 的所有组合都未在数据透视表中设置 - 仅当用户尝试将 A.item 与 B.item 关联时
      而不是显示所有可能的组合,只显示那些活跃的(在数据透视表中有一个条目)。然后为用户提供第二个表单(可能有两个下拉菜单),允许他们将第一个表中的记录与第二个表关联起来。

    • 过滤界面
      为用户提供过滤界面的能力 - 仅显示其中一个表中的单个记录之间的关系。这会产生将表格限制为单列的效果,使其更容易适应设计。

    但是,我仍然允许用户访问所有记录的“大视图”,因为根据您的操作,例如视图对于快速交叉引用大量记录非常有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多