Select jQgrid editrules自定义函数,显示单元格值;选择列";在错误消息的开头

Select jQgrid editrules自定义函数,显示单元格值;选择列";在错误消息的开头,select,jqgrid,Select,Jqgrid,我使用editrules custom_func来防止用户在jQgrid中输入相同的记录。我在colMOdel定义如下的列上定义了自定义函数: {name:'BO',index:'BO',width:40,edit:true,edittype:'select',/*格式化程序:'select'*/ editrules:{custom:true, 自定义函数:函数(值,colName){ 返回CustomFunction.call(this、value、colName、oGrid); } }, 我

我使用editrules custom_func来防止用户在jQgrid中输入相同的记录。我在colMOdel定义如下的列上定义了自定义函数:

{name:'BO',index:'BO',width:40,edit:true,edittype:'select',/*格式化程序:'select'*/
editrules:{custom:true,
自定义函数:函数(值,colName){
返回CustomFunction.call(this、value、colName、oGrid);
}
},

我将jQgrid的select列填充为ID(UID):Name(Text)它的代码完美地完成了他的工作并显示了错误消息,但问题是错误消息显示了UID值,例如

b66a2719-b88a-427e-8904-816fe8e60fde您正在创建重复记录。

请为所选BO类型指定另一个角色。
我不希望在其错误消息中包含此ID值。我应该如何删除此值???有什么建议吗?

您必须将jqGrid更新到新版本才能解决此问题。原因很简单。jqGrid 4.4.4中使用的内联编辑模块包括以下几行(请参阅)

cv=$.jgrid.checkValues(tmp[nm],i,$t);
如果(cv[0]==false){
cv[1]=tmp[nm]+“”+cv[1];
返回false;
}
其中
tmp[nm]
在您的案例中包含文本
b66a2719-b88a-427e-8904-816fe8e60fde
。jqGrid 4.5.2使用相同的代码。因此无法删除前缀
tmp[nm]+“”

最近发布的版本4.5.4将行更改为以下内容(请参阅)

cv=$.jgrid.checkValues.call($t,tmp[nm],i);
如果(cv[0]==false){
返回false;
}

因此,您必须将jqGrid更新为4.5.4或在jqGrid代码副本中进行相应更改。

您使用哪种编辑模式?使用哪种版本的jqGrid?您是否在当前的jqGrid 4.5.4版本中尝试过相同的方法?抱歉,我忘了提及,我使用的是内联编辑,我的jqGrid版本是4.4.4…不,我没有在版本中尝试过4.5.4…您使用哪种编辑模式?版本4.4.4大约有8个月的历史。我建议您尝试昨天发布的jqGrid的当前4.5.4版本。您描述的最接近的问题是内联编辑,但在当前的jqGrid版本中应该已经修复。这意味着这个问题在我的jqGrid版本中无法解决…?抱歉,但是我不明白你的意思,而且你应该回答我问过你两次的问题。