如果使用MaskCellEditor,就可以在运行时间,通过多种方式限制用户输入格式。 有关在MaskCellEditor.mask中指定输入格式的方法,请参考编辑掩码概述页面。
如果insertMode为false,就会以重写的方式进行编辑。
如果fillFromEnd为true,就会在传递单元格的值至编辑器时,从后开始填充单元格的值的长度。
如果includeSeparators为true,就会在储存单元格的值时,包含分隔符。
如果includeLiterals为true,就会在储存单元格的值时,包含Literal。
如果stripEnd为true,就会在储存单元格的值时,清除文本末端的空白。
如果stripBegin为true,就会在储存单元格的值时,清除开端空白。
如果stripInner为true,就会在储存单元格的值时,清除中间空白。
如果适当使用掩码编辑器,就可以将其使用为日期、时间以及日时输入装置。
当显示编辑器或导入单元格的值或外部文本至编辑器时,将会忽视不符合其位置格式的文本,并且进行下个文本。 形式性的文字字符位置将会被跳过。
而且,当获取单元格的值时,如果将MaskCellEditor.fillFromEnd指定为true,就会从编辑器的末端开始填充。
掩码编辑器并不是单独处理日期类值的。 我们需要适当使用CellEditor.datatimeFormat和MaskCellEditor.unmaskCallback等。 基本上,如果将CellEditor.datatimeFormat和MaskCellEditor.mask等两个属性指定为同一模式,就会自动进行处理。 上述例题中,有关日期类的三个列已被设置如下。
{
// 因为datetimeFormat的默认格式为'yyyy/MM/dd',所以无需另行设置。
mask: "0000/00/00"
}
{
"mask": "00:00:00",
"datetimeFormat": "hh:mm:ss;1",
}
{
"mask": "0000/00/00 00:00:00",
"datetimeFormat": "yyyy/MM/dd hh:mm:ss",
// 需要一同传递日期和时间之间的空白文本。
// 因为includeSeparators的默认值为true,所以无需另行设置时间和日期分隔符。
"includeLiterals": true
}