jqGrid在编辑后重新加载其他网格

首先,我为我的英语道歉。

我有4个网格显示来自不同sql查询结果的数据。 它们按其状态分类。 所有的网格工作正常,但有一件事我想做,但我无法弄清楚如何做到这一点。 我希望在成功编辑后刷新其他网格。 jqGrid只刷新我正在编辑的当前网格,这很好,但我最终刷新整个页面以查看其他网格上的更改项目。

我用过.trigger("reloadGrid"); 但这似乎不起作用。

我怎样才能做到这一点? 请帮忙。 非常感谢。

这是jqGrid:

 $('#diag').jqGrid({ url: 'ajax/ajax-diag.php', data: 'xml', mtype: 'GET', colNames: ['Job', 'Client', 'Status', 'Notes'], colModel: [ { name: 'jobnumber', index:'jobnumber', align:'center', width: 70, editable:true}, { name: 'clientid', index:'clientid', align:'center', width: 70, editable:true }, { name: 'statuslabel', index:'statuslabel', align: 'center', width: 125, editable:true}, { name: 'notes', index: 'notes', align: 'center', editable: true } ], loadComplete: function() { if ($('#diag').getGridParam("records") == 0) { $('#diag').hide(); } }, pagination: true, pager: '#diagpager', rowNum: 10, rowList: [10,20,30], sortname: 'jobnumber', width: '100%', height: '100%', sortorder: 'desc', viewrecords: true, closeOnEscape: true, gridview: true, editurl: "ajax/ajax-edit.php", caption: 'Stage 1' }); $('#diag').jqGrid('navGrid', '#diagpager',{},{closeAfterEdit:true},{closeAfterAdd:true}); 

我也在使用导航仪。

已解决:感谢Manuel van Rijn,我找到了导航器寻呼机的正确参数。

这是我的最后一个寻呼机:

 $('#diag').jqGrid('navGrid', '#diagpager',{},{ closeAfterEdit:true, afterComplete:function() { $('#twoRec').trigger('reloadGrid')} },{closeAfterAdd:true}); 

你可以试试这个:

 $('#diag').jqGrid('setGridParam', { datatype: 'xml' }).trigger('reloadGrid'); 

可以设置某些jqGrid设置,以防止网格再次命中服务器。 其中之一是datatype 。 另一个是loadonce

试试这个

 $("#gridId").jqGrid().trigger("reloadGrid"); 

UPDATE

 $('#diag').jqGrid('navGrid', '#diagpager',{ afterRefresh: function() { $("#otherGrid").jqGrid().trigger("reloadGrid"); } },{closeAfterEdit:true},{closeAfterAdd:true}); // above seems to work only when hitting the refresh button 

更新2

 $('#diag').jqGrid('navGrid', '#diagpager',{ editfunc: function(rowId) { ('#grid_id').editRow(id, true, false, reloadGrids); } },{closeAfterEdit:true},{closeAfterAdd:true}); function reloadGrids() { $("#otherGrid").jqGrid().trigger("reloadGrid"); }