我找到了许多接近我需要的讨论,这个问题是最接近的 - 如何在jqGrid的请求中将postData._search设置为true?.
因为我正在努力解决几乎相同的问题,并且无法让它工作 - 我想在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'));
}
Run Code Online (Sandbox Code Playgroud)
控制台打印输出显示过滤器已就位,但_search仍为false,即使没有过滤器,实际的Post也会被发送:
_search false
block_id report_block_1table
nd 1297451574526
page 1
rows 25
sidx id
sord desc
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用完全相同的代码 - 添加
grid.trigger("reloadGrid");
Run Code Online (Sandbox Code Playgroud)
line - 进入某个按钮的onClickButton函数,然后点击按钮 - 一切正常; 但我需要让它在"页面重新加载"上工作!
有任何想法吗?这让我疯狂...