保存或编辑后,JqGrid不刷新记录

时间:2012-06-29 19:48:46

标签: jquery jqgrid

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

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

afterInsertRow: function (rowid,rowdata,rowelem){
    alert("hello"); // this wasnt invoked
}

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

我的问题是什么原因。

2 个答案:

答案 0 :(得分:11)

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

选项reloadAfterSubmit指定在编辑后是否重新加载网格。

如果您使用loadonce: truedatatype将在首次加载后更改为'local'。问题是jqGrid不支持本地表单编辑。因此,您必须为添加/编辑/删除实现服务器部分。问题是在这种情况下重新加载将执行本地而不是从服务器执行。要在表单编辑结束后从服务器重新加载数据,您可以将datatype重置为afterSubmit回调内的初始状态('json'或'xml')。在下一次重新加载(如果是reloadAfterSubmit: true)的情况下,将按照您的意愿从服务器完成。

更新:以下afterSubmit代码可以解决问题:

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

答案 1 :(得分:0)

试用此代码;

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