我已经为我的jqgrid添加了以下代码:
changeTextFormat = function (data) {
return "Activity or one from the same price group already used";
};
jQuery.extend(jQuery.jgrid.edit, {errorTextFormat: changeTextFormat })
它工作得很好插入,我得到的错误信息出现在对话框的顶部。
然而,对于编辑,它不是很好地工作。相反,会出现一个带有错误信息的巨大对话框。
我目前认为这是因为我使用内联编辑,所以它必须弹出一个全新的对话框。有没有更好的方式来格式化这个对话?我很确定,对于内联编辑,它甚至没有通过changeTextFormat
异常后运行。
正确。通过更改jQuery.jgrid.edit
,您设置errorTextFormat仅用于表单编辑。在使用内联编辑的情况下,您必须使用editRow的errorfunc
参数。
您可以很容易地看到errorTextFormat和errorfunc
参数之间的区别。如果在errorTextFormat
中您应该返回错误消息,该错误消息将用于错误消息中,则回调函数errorfunc
应该显示相应的错误消息本身。如果你想有相同的错误对话框的外观,你可以使用$.jgrid.info_dialog
方法。在答案中,您可以找到相应的代码片段。另外,请参阅jqGrid源代码的代码片段。