gpt4 book ai didi

javascript - 使用操作进行 jqgrid 内联编辑 - 无法显示错误消息

转载 作者:行者123 更新时间:2023-12-01 05:26:24 26 4
gpt4 key购买 nike

我正在使用带有编辑操作按钮的 jQgrid 内联编辑,但 aftersavefunc 不起作用。正确的做法是什么?

我想恢复该行并在从服务器收到时显示错误消息:{"success":false,"id":null,"message":"你不能这样做"}

以下是我的代码:

 angular.element(document).ready(function () {

$("#jqGrid").jqGrid({
datatype: "local",
data: $scope.listResellerUser,
mtype: "POST",
colModel: [
{ label:'Full Name', name: 'fullname' },
{ label: 'User Name', name: 'username' },
{ label: 'User Id', name: 'userId', hidden: true, key:true },
{ label: 'Email', name: 'email' },
{ label: 'User Level', name:'roleId', index:'roleId', edittype:'select', editable:true, align:'center', formatter:'select',
editoptions:{value:setRoleDropdown()
}},
{name:'Actions',index:'Actions',width:55,align:'center',sortable:false,search: false,formatter:'actions',
formatoptions:{
keys: true, // we want use [Enter] key to save the row and [Esc] to cancel editing.
delbutton:false,
}}

],
editurl: "/myreseller/changeuserrole",
styleUI : 'Bootstrap',
page: 1,
autowidth: true,
height: 250,
rowNum: 20,
scrollPopUp:true,
scrollLeftOffset: "83%",
viewrecords: true,
scroll: 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records
emptyrecords: 'Scroll to bottom to retrieve new page', // the message will be displayed at the bottom
pager: "#jqGridPager",
editParams: {
"aftersavefunc": function (rowid, response, options) {
alert("row with rowid=" + rowid + " is successfuly modified.");
}
}
});

最佳答案

首先,包含有关您使用(或可以使用)的 jqGrid 版本以及 jqGrid 的分支( free jqGrid ,商业 Guriddo jqGrid JS 或版本 <= 中的旧 jqGrid 4.7) 在您的问题文本中。

我开发了免费的 jqGrid 分支,它也支持 Bootstrap(请参阅 here )。因此我无法帮助您解决 Guriddo jqGrid JS 的具体问题。在我看来,但您使用了不存在的选项editParams。免费的 jqGrid 允许通过 inlineEditing 选项指定常见的内联编辑选项(请参阅 the wiki article )。如果您继续使用商业 Guriddo jqGrid JS,那么您可能必须在 formatoptions 内指定 formatter:'actions' 的回调函数(请参阅 the documentation >onSuccessonErrorafterSave 和其他回调)。

此外,回调 aftersavefunc 在您的情况下似乎是错误的选择。它将在服务器响应处理后被调用。来自 editurl 的每个具有成功 HTTP 状态代码的响应都将被解释为成功,并且更改(错误的更改)将保存在网格中。可以通过使用 errorfunc 回调并返回一些错误 HTTP 状态代码 (>=400) 或使用 successfunc 回调来解决该问题,后者允许处理服务器响应并返回 [false, "error text"][true] 取决于服务器响应的内容。在我看来,这就是您所需要的。

关于javascript - 使用操作进行 jqgrid 内联编辑 - 无法显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com