UI问题:对于最佳(定义为“最终用户最喜欢的那个”)或实现数据输入网格的最差方法,是否存在一些共识?
我有一个网格,有很多行。网格列包含各种类型的属性,用户可以输入/编辑这些属性。属性的“类型”包括:
'自由文本'类型并不难设计(所以我不会问这个),但接下来的两种类型呢?
数字数字
枚举值
为了使用鼠标输入或编辑枚举值,我想在点击鼠标时弹出一个小的上下文菜单就可以了。
<select>
输入控件(即组合框)。我想尽管拥有一整套组合框并不像拥有一列文本值那样容易阅读(因为组合框添加了额外的非文字墨水)?您如何看待通常显示纯文本,但在字段获得输入焦点时使用组合框替换该文本(然后在模糊处删除组合框)?例如?
我也有兴趣看到你认为是一个典型的例子。我对桌面用户界面和/或浏览器内的答案感兴趣。
编辑:关注[data-entry]标签的另一个问题(“Has anyone used Sigma Grid (Javascript-based editable data grid)?”),我正在查看Sigma Grid示例。它做了很多很好的事情IMO(对键盘和即时选择框的良好支持);但是它对数字字段的支持可能是不完美的,例如,如果我在数字单元格中按“a”,那么有时它会弹出一个警告框告诉我我错了(可能工具提示不那么干扰),和/或有时它将单元格留空(空白),擦除'a'并且不留任何东西。
编辑以回复以下答案之一。
然而,再次确定表单的主要用途是什么,并为此进行优化。数据可视化或分析与批量输入有不同的需求,令人满意的键盘用户与键盘+鼠标用户完全不同。
我希望相同的显示(即表格/网格)能够很好地显示现有属性,创建新属性和编辑现有属性。我期待几十个项目(即数十行数据),每个项目只有几列(例如,一列文本/项目描述,以及一个或多个列,用于一个或多个关联项目属性)。
某些数据/属性可能是主观的和相对的(例如,每个项目的两个属性是每个项目的'优先级'或'难度',这仅在与其他项目比较时才特别有意义),这是一个原因为什么我想在一个屏幕上一起显示所有数据:以便最终用户可以比较它们。
我的应用程序适用于相对专家(非新手)的计算机用户,但不适用于数据输入专家:例如:用户是软件开发人员,项目经理,产品经理,QA人员等,也是他们客户的一定程度;它在内联网(不是公共互联网)上运行,但是易于使用且易于学习和直观学习都非常重要。
此外,我不明白为什么令人满意的键盘用户与键盘+鼠标用户完全不同:我认为单个解决方案可以/应该支持和/或两者兼而有之。
答案 0 :(得分:4)
答案 1 :(得分:2)
ExtJS的
可编辑网格:http://extjs.com/deploy/ext-3.0-rc2/examples/grid/edit-grid.html
行编辑器网格:http://extjs.com/deploy/ext-3.0-rc2/examples/grid/row-editor.html
我还没有亲自使用3.0x版本,但2.0非常棒。 Ext框架有一点学习曲线,但它几乎可以做任何事情:验证,输入限制,数据绑定等。
答案 2 :(得分:1)
对于数值,我通常只使用JavaScript来限制输入除您希望输入的值之外的任何值。在这种情况下,数字。不需要给他们警报或其他任何东西,只是不要允许它。
对于枚举值,我真的会选择某种选择或下拉框。这就是人们对网站的使用。您可以使用它并隐藏它直到鼠标悬停,或者单击该框。
对于标签,我会允许它们标签到另一个选择框。对于某些人来说输入大量数据会更快。
答案 3 :(得分:1)
这是多年来使用报名表的观察记录。
数字数字:
枚举值
答案 4 :(得分:1)
答案 5 :(得分:0)
jQuery有一些cool plugins可以帮助解决常见的数据输入问题。
jQuery的高使用率,其中一些插件以及美学因素向我表明这些插件代表了处理用户输入的一些最佳方式......
Isaac over evolt在{strong>可用表格上有good article