Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 保存或编辑后,JqGrid不';不要刷新记录_Jquery_Jqgrid - Fatal编程技术网

Jquery 保存或编辑后,JqGrid不';不要刷新记录

Jquery 保存或编辑后,JqGrid不';不要刷新记录,jquery,jqgrid,Jquery,Jqgrid,我使用JqGrid列出、添加、删除、编辑、查找我的记录。当我选择loadonce=false时,它通常会在del、edit或add之后刷新记录。但是,分页和搜索机制不起作用。一旦我选择loadonce=true,它将在删除后刷新记录,而不是在添加或编辑后。然后分页和搜索在loadonce=true模式下正常运行。我试过了 $("#list").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); 或 但是他们没有解决我的问

我使用JqGrid列出、添加、删除、编辑、查找我的记录。当我选择loadonce=false时,它通常会在del、edit或add之后刷新记录。但是,分页和搜索机制不起作用。一旦我选择loadonce=true,它将在删除后刷新记录,而不是在添加或编辑后。然后分页和搜索在loadonce=true模式下正常运行。我试过了

$("#list").setGridParam({datatype:'json', page:1}).trigger('reloadGrid');

但是他们没有解决我的问题


出现问题的原因是什么。

如果使用
loadonce:false
,则必须在服务器端执行分页、排序和搜索。如果分页和搜索不起作用,那么您没有在当前服务器代码中实现这些功能

选项
reloadeaftersubmit
指定编辑后是否重新加载网格


如果使用
loadonce:true
数据类型将在第一次加载后更改为
“本地”
。问题是jqGrid不支持本地表单编辑。因此,您必须实现用于添加/编辑/删除的服务器部分。问题是这种情况下的重新加载将在本地执行,而不是从服务器执行。要在表单编辑结束后从服务器重新加载数据,您可以在
afterSubmit
回调中将
datatype
重置为初始状态(“json”或“xml”)。在这种情况下,下一次重新加载(如果是
reloadeaftersubmit:true
)将根据需要从服务器上完成

已更新:的以下代码应能解决此问题:

afterSubmit: function () {
    $(this).jqGrid("setGridParam", {datatype: 'json'});
    return [true];
}
试试这个代码

afterSubmit: function () { location.reload(true); }

您使用哪种编辑模式:表单编辑(例如由
navGrid
添加的按钮)或内联编辑(例如由
inlineNav
添加的按钮)?这是jqGrid的两个完全不同的代码,它们的工作方式不同。我使用navGrid而不是内联编辑模式,我使用loadone:true,我在服务器端实现了删除、添加和编辑。在保存或编辑刷新页面或网格列表后,我唯一的问题是,我使用的是reloadAfterSubmit:true,然后我习惯于像这样将local更改为json$(#list”).setGridParam({datatype:'json',page:1}).trigger('reloadGrid')。然后没有重新加载网格。@RahmanUsta:您是否尝试设置
$(this).setGridParam({datatype:'json')
afterSubmit
表单编辑回调中,就像我在回答中推荐的那样?我使用了上面的方法;jQuery(“#toolbar”).jqGrid('navGrid','#ptoolbar',{del:true,add:true,edit:true,search:true,refresh:true},{afterSubmit:function(){$(this).setGridParam({datatype:'json'})});但是没有change@RahmanUsta:当然,您应该在提交后从
返回正确的值(请参阅)。“添加”和“编辑”的返回值可能不同。在编辑操作的情况下,您可以使用
afterSubmit:function(){$(this).jqGrid(“setGridParam”,{datatype:'json'});返回[true];}
。我认为在
重新加载AfterSubmit
的情况下可以返回<代码>[true]
以防添加操作也发生。@RahmanUsta:恭喜你!听起来你的问题现在已经解决了。是这样吗?
afterSubmit: function () { location.reload(true); }