我找到了很多与我需要的内容相似的讨论,而这个问题是最接近的 - 如何在jqGrid请求中将postData._search设置为true?。
由于我遇到了几乎相同的问题,但无法解决 - 我想在jqGrid的初始加载期间设置“搜索”和“筛选”,例如在页面重新加载时,我已经将我的筛选器存储在会话中 - 我尝试了Oleg示例中的所有方法 - 但它就是不起作用!
这就是我想做的事情 -
控制台输出显示过滤器已经就位,但_search仍然为false,且即使没有过滤器,实际的Post也会被发送。
由于我遇到了几乎相同的问题,但无法解决 - 我想在jqGrid的初始加载期间设置“搜索”和“筛选”,例如在页面重新加载时,我已经将我的筛选器存储在会话中 - 我尝试了Oleg示例中的所有方法 - 但它就是不起作用!
这就是我想做的事情 -
loadBeforeSend: function (xhr) {
var grid = jQuery('#' + block_id);
var postData = grid.jqGrid('getGridParam','postData');
jQuery.extend(postData,{filters:MyFilters});
grid.jqGrid('setGridParam', {search: true, postData: postData});
console.log(grid.jqGrid('getGridParam','postData'));
}
控制台输出显示过滤器已经就位,但_search仍然为false,且即使没有过滤器,实际的Post也会被发送。
_search false
block_id report_block_1table
nd 1297451574526
page 1
rows 25
sidx id
sord desc
然而,如果我使用完全相同的代码 - 加上
grid.trigger("reloadGrid");
将代码放入某个按钮的onClickButton函数中,然后点击该按钮,一切都能正常工作;但是我需要在“页面重新加载”时使其工作!
有什么想法吗?这让我发疯了...
jQuery('#' + block_id).jqGrid({ url:loadUrl, mtype:'POST', postData:{block_id:block_id, filters:'{"groupOp":"AND","rules":[{"field":"Cloud Upload ", "op":"cn","data":"costa"}]}'}, search:true, autowidth:true, height: '100%', datatype: "json", // .. });
- Oleg Ivanov