jQgrid editrules custom_func在错误消息的开头显示“select column”的单元格值

时间:2013-10-07 07:32:58

标签: select jqgrid

我正在使用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值。我应该如何删除此值????有什么建议???

1 个答案:

答案 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代码副本中进行相应的更改。