2

在我正在处理的应用程序中,有表格数据(为了记录,它是一个使用 的 Java Swing 应用程序JTables)。在某些情况下,可以通过单击列标题对数据进行排序。我想知道的是什么是向用户指示给定列是否可排序的好方法?

我想出了以下几种可能性。

1)在每个可排序的列中放置一个图标,表示它是可排序的。我个人不喜欢这个选项。

2)当鼠标悬停在标题上时,将鼠标光标更改为其他内容以指示它是可排序的。

3) 将鼠标悬停在列上时,在工具提示文本中添加注释,说明它是可排序的。

有没有人有任何其他建议?

更新:

我认为有必要澄清一下。我的问题不是如何指示给定列当前已排序。这已经通过向上/向下排序三角形范式实现。在用户单击标题对其进行排序之前,我想给用户一个线索,了解哪些列可以排序。

更新 2:我想我应该解释为什么我没有完全支持选项 #1。在我看来,如果要放置一个图标来指示哪些列可排序的,那么这将增加视觉混乱。在这种情况下,有时 UI 会在“鼠标悬停”时发生变化。恰当的例子:Windows Vista 和 7 允许在列上添加过滤器,但在您将鼠标悬停在标题上之前,不会出现此指示符。

4

7 回答 7

6

在处理 UI 时,您必须考虑用户的期望。我几乎总是建议保持用户期望的范例。因此,我会推荐选项 1 的版本)

RememberME 的帖子描述了它是如何工作的 - 您仍然可以在列标题中使用箭头 - 一种选择是在标题中放置一个箭头图标,但如果该图标已排序,则更改该图标的状态(例如,突出显示向上或向下按钮,如果数据集当前按此列排序。)

编辑: Windows 资源管理器示例可能不是这里最好的示例。我的原文引用如下:

在 Windows 资源管理器和几乎所有表单数据网格中,都有一个小图标,通常是向上或向下箭头,表示列是可排序的。尝试使用 Windows 资源管理器查看其工作方式。

于 2010-03-03T22:11:56.850 回答
2

在许多应用程序中,三角形表示可排序,因此我认为这是向用户传达信息的最佳方式 b/c 这是他们最可能熟悉的标准。

我认为DataTables.Net的 jquery 插件就是一个很好的例子。你可以看一看,看看你是否喜欢它的外观/功能并模仿它。up 和 down 都表示可排序。只有一个或另一个表明它正在被排序。如果它们的列不可排序,则根本没有图标。他们的示例还将指针从箭头更改为手形指针,以指示您可以单击标题。

于 2010-03-03T22:10:49.627 回答
0

我认为标准方式本质上是选项1:要么显示最初用指向向上或向下(升序/降序)的小箭头排序的数据,要么在单击列标题后立即排序+显示图标。

于 2010-03-03T22:10:34.853 回答
0

我认为在列标题下方有一个小箭头或三角形图标,您可以单击以按该列排序是最好的选择,因为它很容易直观地看到并且使用起来非常直观。

于 2010-03-03T22:11:16.320 回答
0

小的三角形向上/向下排序图标是桌面应用程序和网页中可排序表格视图的标准。您可能不喜欢它们,但您的用户可能已经习惯了它们(即使他们没有意识到)。

您当然应该将鼠标光标更改为可点击元素。

于 2010-03-03T22:11:44.367 回答
0

您应该始终为任何可点击的内容执行 2。

数字 1 还不错,通常是一个向上或向下的三角形,具体取决于排序顺序。

为了表示可点击性,您还可以在可排序的列上使用带下划线的蓝色文本,在不可排序的列上使用纯深灰色文本——http 链接外观是几乎所有用户都熟知的设备,但它本身并不能传达可排序性。相反,用户可能希望单击它以将他们带到某个其他屏幕或列表,就像超链接通常所做的那样。

于 2010-03-03T22:11:46.163 回答
-2

我可能有点密集,但是什么样的列是不可排序的?

几乎任何东西都可以排序;即使没有严格的“大于”关系,至少也会有一个“等于”,然后排序就是“把相等的东西放在一起”。

字符串?尝试按字母排序。图片?按红色、绿色、蓝色的百分比排序(或者,如果您想花哨,请比较颜色直方图)。地点?使用到罗马或任何其他任意位置的距离。

对某些列进行排序可能比对其他列进行排序更有用;但是我很难找到一种列类型,避免发生排序很重要。

于 2010-03-21T21:42:27.047 回答