I had the same need as you, when I need my grids to download data only after receiving the hash of the URL (the hash of the URL determines which filters are set for my grid, then the data can be loaded in the net). So to prevent my grid from loading data at startup, this is what I did:
Grid Setting:
$("#grid").jqGrid({ url:"", mtype:"", ...
Later, when I needed to actually load the data:
$("#grid").jqGrid("setGridParam",{datatype: "json", mtype: 'POST', url: myUrl, postData: params}).trigger("reloadGrid");
I also consider it necessary to make {postData: null} before the above reload to ensure that the post variables from the previous message will not be included in future posts.
source share