我正在使用editrules custom_func来阻止用户在jQgrid中输入相同的记录。我已经在colMOdel定义如下的列上定义了custom_func:
{ name: 'BO', index: 'BO', width: 40, editable: true, edittype: 'select', /*formatter: 'select',*/
editrules: { custom: true,
custom_func: function (value, colName) {
return CustomFunction.call(this, value, colName, oGrid);
}
},
我正在填充jQgrid的选择列作为ID(UID):名称(文本)其代码完美地完成他的工作并显示错误消息,但问题是显示UID值的错误消息,例如
b66a2719-b88a-427e-8904-816fe8e60fde You are creating duplicate record .
Please give another role for selected BO type.
我不希望在其错误消息中显示此ID值。我应该如何删除此值????有什么建议???
答案 0 :(得分:0)
您必须将jqGrid更新为新版本才能解决问题。原因很简单。内联编辑模块在jqGrid 4.4.4中使用了以下几行(参见here)
cv = $.jgrid.checkValues(tmp[nm],i,$t);
if(cv[0] === false) {
cv[1] = tmp[nm] + " " + cv[1];
return false;
}
tmp[nm]
在您的案例中包含文字b66a2719-b88a-427e-8904-816fe8e60fde
。 jqGrid 4.5.2使用相同的代码。因此,无法删除前缀tmp[nm] + " "
。
最近发布的版本4.5.4将行更改为以下内容(请参阅here)。
cv = $.jgrid.checkValues.call($t,tmp[nm],i);
if(cv[0] === false) {
return false;
}
因此您必须将jqGrid更新为4.5.4或在jqGrid代码副本中进行相应的更改。