Validation 将数据输入网格

Validation 将数据输入网格,validation,gridview,user-interface,input,data-entry,Validation,Gridview,User Interface,Input,Data Entry,一个UI问题:对于实现网格数据输入的最佳方式(定义为“最终用户最喜欢的方式”)或最不坏的方式,是否有一些共识 我有一个网格,有很多行。网格的列包含各种类型的属性,用户可以输入/编辑这些属性。物业的“类型”包括: 自由文本 数字(数字) 枚举值(例如“高”、“中”和“低”之一) 其他(例如日期、持续时间) “自由文本”类型并不难设计(所以我不会问这个问题),但是接下来的两种类型呢 数字位数 使用键盘输入数字时,是否允许自由文本输入,然后在blur上运行验证方法?或者,监视每个按键,将数据输入

一个UI问题:对于实现网格数据输入的最佳方式(定义为“最终用户最喜欢的方式”)或最不坏的方式,是否有一些共识

我有一个网格,有很多行。网格的列包含各种类型的属性,用户可以输入/编辑这些属性。物业的“类型”包括:

  • 自由文本
  • 数字(数字)
  • 枚举值(例如“高”、“中”和“低”之一)
  • 其他(例如日期、持续时间)
“自由文本”类型并不难设计(所以我不会问这个问题),但是接下来的两种类型呢

数字位数

  • 使用键盘输入数字时,是否允许自由文本输入,然后在blur上运行验证方法?或者,监视每个按键,将数据输入限制为仅数字
  • 如何告诉用户(在网格上,而不是表单上)某些列中的数据语法仅限于数字?如果用户按错(非数字)键,您会怎么做
  • “旋转”或“旋转器”控件是标准的Windows控件;在基于HTML的网格上尝试使用一个是否合适
枚举值

要使用鼠标输入或编辑枚举值,我想在鼠标单击时弹出一个小上下文菜单就是要做的事情

  • 另一种方法是使用
    输入控件(即组合框)。我想,虽然有一整列的组合框不如有一列文本值容易阅读(因为组合框添加了额外的非文本墨水)?您如何看待通常显示纯文本,但在字段获得输入焦点时用组合框替换该文本(然后删除模糊上的组合框)
  • 当焦点因键盘(即[Tab]键)而不是鼠标(即点击)而改变时,您是否也会在焦点上弹出相同的菜单?换言之,是否应在弹出菜单中标记字段?顺便说一句,我看到的基于CSS的弹出菜单只响应鼠标而不响应键盘(例如,响应[向上]和[向下]箭头键)。您知道有任何类似Intellisense的数据输入实现可以在浏览器中运行吗
例如?

我还想看看你认为是典范的东西。我对桌面用户界面和/或浏览器答案感兴趣


编辑:下面是带有[data entry]标记(“”)的另一个问题,我看的是Sigma网格示例。在IMO中,它可以做很多事情(对键盘和即时选择框的良好支持);但它对数字字段的支持可能不完善,例如,如果我在数字单元格中按“a”,有时它会弹出一个警告框告诉我我错了(在这种情况下,工具提示可能不会那么麻烦),和/或有时它会将单元格留空(空白),删除“a”而不保留任何内容


编辑以答复以下答案之一

但是,再次确定表单的主要用途,并为此进行优化。数据可视化或分析的需求与批量输入不同,满足键盘用户的需求与键盘+鼠标用户的需求完全不同

我希望在显示现有特性、创建新特性和编辑现有特性时,相同的显示(即表格/网格)能够正常工作。我希望有几十个项目(即几十行数据),每个项目只有几列(例如,一列文本/项目描述,加上一列或多列用于一个或多个关联项目属性)

一些数据/属性可能是主观的和相对的(例如,每个项目的两个属性是每个项目的“优先级”或“难度”,只有与其他项目比较时才有意义),这就是我希望在一个屏幕上同时显示所有数据的原因:以便最终用户可以比较它们

我的应用程序适用于相对专业(不是新手)的计算机用户,但不是数据输入专家:例如,用户是软件开发人员、项目经理、产品经理、QA人员等,但在某种程度上也是他们的客户;它运行在内部网(而不是公共互联网)上,然而易于使用和/或直观学习都很重要


我也不明白为什么让键盘用户满意与键盘+鼠标用户完全不同:我认为一个单一的解决方案可以/应该支持其中一个和/或两者

对于数值,我通常只使用JavaScript来限制输入除您希望它们输入的值以外的任何值。在这种情况下,数字。不需要给他们警告或其他任何东西,只是不允许

对于枚举值,我会使用某种选择或下拉框。这就是人们对网站的习惯。你可以喜欢它,把它隐藏起来,直到鼠标移到上面,或者点击盒子


对于tabing,我允许他们在另一个选择框中进行tab。这将加快一些人输入大量数据的速度。

嗯,你需要问的一个大问题是你的页面的主要目的和你的用户的相对成熟度。你是在对付Tab+10键的专业人士,鼠标点击+狩猎啄击打字员,两者兼而有之吗

你所做的选择需要考虑到这一点。我假设,通过选择网格,您的用户从底部向上迈出了一步,使用选项卡导航作为导航表单的主要手段,主要用途是批量数据输入

关于数字输入:

  • 如果您计划提供一个转换例程,则无需限制为数字

  • 在用户输入无效输入的情况下(请注意,某些数字,而不仅仅是文本可能无效…例如,负年龄),最好立即内联显示错误
  • 避免旋转器,尤其是当你处理w