我正在尝试使用可编辑的jqgrid网格实现格式化程序。我已经阅读了关于它的维基页面,但它没有真正提到它应该做什么。它只是说它格式化。
例如,这是我的一段代码(这是来自列定义部分):
{ name: 'daily', index: 'daily', width: 90, sorttype: "currency", editable: true, formatter: 'currency', formatoptions: { decimalSeparator: ".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "$ " } },
我对格式化程序应该做什么的期望: 由于这是一种货币,不允许用户输入字母,符号等(仅限数字) 在号码前面放置一个美元符号 将小数点放在正确的位置 把数千个逗号放在适当的位置。
它没有做到这一点。那么我应该从格式化程序中得到什么呢?
答案 0 :(得分:0)
jqGrid格式化程序只是一种格式化单元格数据的函数:
function myformatter ( cellvalue, options, rowObject )
{
// format the cellvalue to new format
return new_formated_cellvalue;
}
如您所见,它只允许格式化单元格内容以供显示,它不执行任何验证。
如果要验证编辑数据是否以特定格式输入,则需要将editrules
添加到colModel。例如,您可以使用以下选项之一:
number boolean (true or false) if set to true, the value will be checked and if this is not a number, an error message will be displayed. custom boolean if set to true allow definition of the custom checking rules via a custom function. See below