当 InLineEditing JQGrid 在添加或更改时出错时保留记录
Preserve record when InLineEditing JQGrid gives error when adding or changing
我正在使用 InLineEditing JQGrid,在添加或更改记录时,如果失败,记录就会消失。我需要保留这些行以供用户更正错误信息并再次尝试保存记录。
在我的代码段下面
jQuery("#" + p_gridName).jqGrid('inlineNav', '#p' + p_gridName, {
edit : true, editicon : "ui-icon-pencil",
add : true, addicon : "ui-icon-plus",
save : true, saveicon : "ui-icon-disk", savetitle : "Salvar",
cancel : true, cancelicon : "ui-icon-cancel", canceltitle : "Cancelar",
editParams : {
keys : false, oneditfunc : null, successfunc : function (response) {
if (response != null && response.responseText != null) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
atualizaInfoStatusNavegacao('edit', valorChave, p_primaryKey, p_contentName);
return true;
} else {
alert(response.responseText);
return true;
}
}
}, afterrestorefunc: function (rowid) {
alert("after restore func");
return rowid;
}, restoreAfterError : false
},
addParams : {
useDefValues : true, addRowParams : {
successfunc : function (response) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
return true;
} else {
alert(response.responseText);
return true;
}
}
}
}
});
有一个名为 restoreAfterError 的选项(请参阅文档 here),默认情况下为真。将其设置为 false 以获得所需的行为。
这是editRow或saveRow中的选项(参数)。
编辑
您的代码应该 return 真实或更好的数组,第一个值 true/false 和这样的消息
if (response != null && response.responseText != null) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
atualizaInfoStatusNavegacao('edit', valorChave, p_primaryKey, p_contentName);
return [true,''];
} else {
return [false, response.responseText];
}
} else {
return [false, 'no response from the server'];
}
我正在使用 InLineEditing JQGrid,在添加或更改记录时,如果失败,记录就会消失。我需要保留这些行以供用户更正错误信息并再次尝试保存记录。
在我的代码段下面
jQuery("#" + p_gridName).jqGrid('inlineNav', '#p' + p_gridName, {
edit : true, editicon : "ui-icon-pencil",
add : true, addicon : "ui-icon-plus",
save : true, saveicon : "ui-icon-disk", savetitle : "Salvar",
cancel : true, cancelicon : "ui-icon-cancel", canceltitle : "Cancelar",
editParams : {
keys : false, oneditfunc : null, successfunc : function (response) {
if (response != null && response.responseText != null) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
atualizaInfoStatusNavegacao('edit', valorChave, p_primaryKey, p_contentName);
return true;
} else {
alert(response.responseText);
return true;
}
}
}, afterrestorefunc: function (rowid) {
alert("after restore func");
return rowid;
}, restoreAfterError : false
},
addParams : {
useDefValues : true, addRowParams : {
successfunc : function (response) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
return true;
} else {
alert(response.responseText);
return true;
}
}
}
}
});
有一个名为 restoreAfterError 的选项(请参阅文档 here),默认情况下为真。将其设置为 false 以获得所需的行为。
这是editRow或saveRow中的选项(参数)。
编辑
您的代码应该 return 真实或更好的数组,第一个值 true/false 和这样的消息
if (response != null && response.responseText != null) {
if (response.responseText.includes("OK")) {
alert(response.responseText);
reloadDataGrid(p_gridName, p_contentName, p_filtroGrid);
atualizaInfoStatusNavegacao('edit', valorChave, p_primaryKey, p_contentName);
return [true,''];
} else {
return [false, response.responseText];
}
} else {
return [false, 'no response from the server'];
}