我是Handsontable的大三学生,我有这个问题:
我的表完全正常工作,我在每个单元格上使用编辑器“选择”不同的选择选项。根据单元格,选择选项是不同的。但是,如果我将一个单元格的值复制/粘贴到另一个单元格(此粘贴值不是选择选项的一部分),它可以工作,我真的希望单元格不验证此值。
< / p>
我在JsFiddle上做了一个小例子让自己明白:
JsFiddle
如果你复制第一行和col上的'A',你将它粘贴在C列的单元格上,它就可以了。即使它不应该,因为该列的选择选项是“C”或“D”。
我很确定与cellValidator有关,但我不知道如何继续。有没有人知道如何纠正这个问题..?
提前谢谢
答案 0 :(得分:0)
在这种情况下,我个人使用的是“下拉列”或“自动填充”列。对那些列类型进行处理,可以使用附加选项'strict'可以是true或false,'allowInvalid'(再次,true或false):
columns: [
{
type: 'dropdown',
source: ['A', 'B'],
strict: true,
allowInvalid: false
},
{
type: 'dropdown',
source: ['B', 'C', 'D'],
strict: true,
allowInvalid: false
},
{
type: 'dropdown',
source: ['C', 'D'],
strict: true,
allowInvalid: false
}
]
来自文档:
严格: true - 自动填充单元格只会接受以下值 在源数组中定义。
[...]
allowInvalid: false - 不允许手动输入值 在源中不存在。在这种情况下,将忽略ENTER键 编辑器字段仍然打开。
您可以找到编辑here的示例,了解其工作原理。