Jquery jqgrid表单编辑:关于删除行后操作的问题
经过长时间的搜索,我通过表单编辑成功地删除了jqgrid中的一行 但是,还有两件小事要做:Jquery jqgrid表单编辑:关于删除行后操作的问题,jquery,jqgrid,form-editing,Jquery,Jqgrid,Form Editing,经过长时间的搜索,我通过表单编辑成功地删除了jqgrid中的一行 但是,还有两件小事要做: 如何在删除行的情况下重新加载网格 如果无法删除该行,如何显示信息以及原因 我试图在事件“afterSubmit”中搜索传递给函数的参数,但没有关于如何操作这些参数的真正解释 网格的创建: tableToGrid("#TabUser", { caption: 'Gestion des Utilisateurs', width: 'auto', height: "auto",
- 如何在删除行的情况下重新加载网格
- 如果无法删除该行,如何显示信息以及原因
tableToGrid("#TabUser", {
caption: 'Gestion des Utilisateurs',
width: 'auto',
height: "auto",
hidegrid: false,
pager:'#DivUser',
rowNum:10,
cellEdit: true,
cellsubmit: 'remote',
cellurl: 'Adminuser',
colModel: [{name:'Id', editable:false, width:50},
{name:'Login', editable:false, width:150},
{name:'Nom', editable:true, width:200},
{name:'Prénom', editable:true, width:200},
{name:'Rôle', editable:true, width:80, edittype:'select',
editoptions: { multiple: false, value:{ADMIN:'ADMIN',GUEST:'GUEST'}}},
{name:'Email', editable:true, width:200}],
beforeSubmitCell: function(rowid, celname, value, iRow, iCol) {
var rowData = jQuery(this).getRowData(rowid);
var idUser= rowData['Id'];// On récupère l'Id du user en cours d'édition
return {idUser:idUser}; }
});
导航:
$("#TabUser").navGrid('#DivUser',
{edit:false,add:false,del:true,search:false},{}, {},
{width:500, url:'Adminuser',
reloadAfterSubmit:true,
onclickSubmit: function(param){
var sr = jQuery('#TabUser').getGridParam('selrow');
var idUser = jQuery('#TabUser').getCell(sr,'Id');
return {idUser:idUser}; },
afterSubmit: function(reponse, data) {
$("#TabUser").trigger('reloadGrid');
$("#eData").click(); // clic sur "Annuler"
return [true,"Supression réussie"];
}
});
“响应”和“数据”的价值是什么?
如何重新加载网格
使用url“Adminuser”(用java编写)在数据库中有效地删除了该行。我认为真正的问题不是删除该行后重新加载网格。将由
tableToGrid
创建的网格具有datatype:“local”
并且不需要从服务器重新加载数据
您真正的问题是jqGrid 3.4.1中的错误,该错误在jqGrid代码中已修复(请参阅)。因此,删除的行不会从网格中删除。问题在于代码:
错误在于postdata
已经是数组而不是字符串。因此,该行中的一个get异常和从网格中删除该行的下一行将不会执行。要解决此问题,您可以使用来自的jqGrid代码的最新版本,也可以将上述行(jquery.jqGrid.src.js中的行号为8282)修改为
或者下载修改版的jquery.jqGrid.src.js
。之后,您可以使用$(“#TabUser”).trigger('reloadGrid')删除该行代码>从您的代码和所有将正常工作:请参阅
要在行的“Delete”中报告来自服务器的错误信息,您应该只在HTTP响应中报告。您还可以定义回调,该回调重新格式化服务器对要显示为错误消息的HTML代码片段的响应。有关更多信息,请参见或。我认为真正的问题不是删除行后重新加载网格。将由tableToGrid
创建的网格具有datatype:“local”
并且不需要从服务器重新加载数据
您真正的问题是jqGrid 3.4.1中的错误,该错误在jqGrid代码中已修复(请参阅)。因此,删除的行不会从网格中删除。问题在于代码:
错误在于postdata
已经是数组而不是字符串。因此,该行中的一个get异常和从网格中删除该行的下一行将不会执行。要解决此问题,您可以使用来自的jqGrid代码的最新版本,也可以将上述行(jquery.jqGrid.src.js
中的行号为8282)修改为
或者下载修改版的jquery.jqGrid.src.js
。之后,您可以使用$(“#TabUser”).trigger('reloadGrid')删除该行代码>从您的代码和所有将正常工作:请参阅
要在行的“Delete”中报告来自服务器的错误信息,您应该只在HTTP响应中报告。您还可以定义回调,该回调重新格式化服务器对要显示为错误消息的HTML代码片段的响应。有关更多信息,请参阅或。感谢您对重新加载操作的良好回答:它起作用了!在你回答之后,我发现这个问题已经被描述过了;很抱歉我现在将尝试实现te服务器信息;我会告诉你结果的!感谢您对重新加载操作的良好回答:它起作用了!在你回答之后,我发现这个问题已经被描述过了;很抱歉我现在将尝试实现te服务器信息;我会告诉你结果的!
toarr = postdata.split(",");
toarr = postdata;