【发布时间】:2020-03-03 14:28:41
【问题描述】:
如何在 JQGrid 列中添加自定义掩码?我关注了documentation,但它不起作用。
在我的代码下面:
this.montarGRID = function (p_gridName, p_dados, p_header, p_descriptor, p_contentName, p_primaryKey, p_filtroGrid) {
jQuery("#" + p_gridName).jqGrid( {
data : p_dados,
datatype : "local",
sortable : true,
colNames : p_header,
colModel : p_descriptor,
rowNum : 30,
rowList : [30, 50, 100],
pager : '#p' + p_gridName,
recordpos : 'right',
viewrecords : true,
sortorder : "desc",
width: screen.availWidth - (screen.availWidth * 3 / 100),
height : screen.availHeight - 250,
ignoreCase : true,
multiselect : false,
shrinkToFit : false, ...
function telefone(cellValue, opts, rowObject) {
console.log("gri.locale-pt-br.js formatter telefone " + cellValue);
return "Telefone: " + cellValue;
}
我的 colModel 值...
[
{formatter=integer, index=id, hidden=true, sortable=true, sorttype=integer, width=75, align=center, name=id},
{formatter=integer, index=VPD_GEMPI, search=false, hidden=true, sorttype=integer, sortable=true, width=0, align=right, name=VPD_GEMPI, editrules={number=true, required=true}, editable=true},
{formatter=date, formatoptions={srcformat=ISO8601Short, newformat=d/m/Y}, index=DT_DIGIT, search=true, hidden=false, sortable=true, width=0, align=right, name=DT_DIGIT, dateFormat=d/m/Y, editrules={required=true, date=true}, editable=true},
{formatter=email, index=EMAIL, search=true, hidden=false, sorttype=text, sortable=true, width=0, align=right, name=EMAIL, editrules={text=true, required=false}, editable=true},
{formatter=telefone, index=TELCONTATO01, search=true, hidden=false, sorttype=text, sortable=true, width=0, align=right, name=TELCONTATO01, editrules={text=true, required=false}, editable=true},
{formatter=function (cellValue, opts, rowObject) { return telefone(cellValue, opts, rowObject); }, index=TELCONTATO02, search=true, hidden=false, sorttype=text, sortable=true, width=0, align=right, name=TELCONTATO02, editrules={text=true, required=false}, editable=true}
]
只有整数、日期、电子邮件掩码有效。
当我的 colModel 格式化程序属性是整数、货币、电子邮件等时,它可以工作,但当电话是它时,它不会。
在我的模板格式化程序下方
;(function ($) {
$.extend($.jgrid, {
formatter : {
integer : {
thousandsSeparator : " ",
defaultValue : '0'
},
number : {
decimalSeparator : ",",
thousandsSeparator : ".",
decimalPlaces : 2,
defaultValue : '0,00'
},
currency : {
decimalSeparator : ",",
thousandsSeparator : ".",
decimalPlaces : 2,
prefix : "R$ ",
suffix : "",
defaultValue : '0,00'
} ...
})(jQuery);
【问题讨论】:
-
使用的是哪个版本的jqGrid?请发布您的 colModel 数组。这是这里的重要部分。我建议你阅读this link。
-
我使用 jquery 1.11.3 版本。我关注了你的链接,但它不起作用,它没有做任何事情。我的 colModel 数组在上面,在主消息中。
-
问题是:使用的是哪个版本的jqGrid? (不是 jquery 的哪个版本)
-
我的jqGrid版本是4.5.4