admin管理员组文章数量:1410737
I am using the jqGrid plug-in and at one point I need to refresh the grid and set the selected row to match the record that I am showing in detail on another section of the page. I have the following code but it does not work:
$("#AllActions").trigger("reloadGrid").setSelection(selectedRow);
The selectedRow parameter es from an event handler that gets called when the data is changed and the grid needs to be updated.
I'm pretty sure that the problem is that the grid is not loaded when the selection is being set, because if I put a call to alert() between the calls to trigger() and setSelection(), it works.
I would be grateful for any advice.
[Edit]Looks like jqGrid's setSelect does not work after reloadGrid is related but did not get resolved.[/Edit]
I am using the jqGrid plug-in and at one point I need to refresh the grid and set the selected row to match the record that I am showing in detail on another section of the page. I have the following code but it does not work:
$("#AllActions").trigger("reloadGrid").setSelection(selectedRow);
The selectedRow parameter es from an event handler that gets called when the data is changed and the grid needs to be updated.
I'm pretty sure that the problem is that the grid is not loaded when the selection is being set, because if I put a call to alert() between the calls to trigger() and setSelection(), it works.
I would be grateful for any advice.
[Edit]Looks like jqGrid's setSelect does not work after reloadGrid is related but did not get resolved.[/Edit]
Share Improve this question edited May 23, 2017 at 10:32 CommunityBot 11 silver badge asked May 13, 2010 at 16:38 JamesJames 8197 silver badges23 bronze badges 1- 1 I written just now an answer in stackoverflow./questions/2529581/… too. – Oleg Commented May 13, 2010 at 16:56
2 Answers
Reset to default 5Firts of all you should save rowid of the old selection in a variable, then call $("#AllActions").trigger("reloadGrid")
and inside of loadComplete
event handler set selection with respect of $("#AllActions").setSelection(rowid)
.
Don't forget to set option scrollrows:true
of the jqGrid, to be sure that the selected row will be visible.
Try this, I did it, and it works.
setTimeout("$('#grid').jqGrid('setSelection','"+id+"')", 1000);
and of course in the config of the master grid.. you can use somthing like this
onSelectRow: function(ids) {
if(ids == null) {
ids=0;
if($("#grid-detail").jqGrid('getGridParam','records') >0 ) {
$("#grid-detail").jqGrid('setGridParam',{url:"server.php?&grid=1&oper=get_records&id=&id="+ids,page:1});
$("#grid-detail").jqGrid().trigger('reloadGrid');
}
} else {
var arr = jQuery("#list-maestro").getRowData( ids );
var id = arr.id;
$("#grid-detail").jqGrid('setGridParam',{url:"server.php?&grid=1&oper=get_records&id="+id,page:1});
$("#grid-detail").jqGrid().trigger('reloadGrid');
}
}
本文标签: javascriptCallback for When jqGrid Finishes ReloadingStack Overflow
版权声明:本文标题:javascript - Callback for When jqGrid Finishes Reloading? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744324324a2600648.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论