2

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

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

或者

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

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

我的问题是什么原因。

4

2 回答 2

11

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

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

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

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

afterSubmit: function () {
    $(this).jqGrid("setGridParam", {datatype: 'json'});
    return [true];
}
于 2012-06-30T10:39:02.300 回答
0

试试这个代码;

afterSubmit: function () { location.reload(true); }
于 2016-10-06T09:13:58.160 回答