ack*_*hez 4 search jquery jqgrid
目前我已启用网格设置并启用搜索.当我运行搜索时,一切正常,我可以将好数据返回到网格.我看到URL上的"_search"参数设置为"true",一切都很好.
但是,当完成搜索并且数据不再相关时,我想重新加载网格以显示那里的先前数据(初始页面加载上显示的数据).我做了一个函数来调用"trigger("reloadGrid")"方法,但是只发送相同的数据,而"_search"仍设置为"true".
有没有办法清除搜索请求数据,只是重新加载页面加载上显示的初始数据或至少将"_search"值设置回"false",以便我可以检查它?目前显示原始数据的唯一方法是重新加载页面.
Ole*_*leg 15
如果使用jqGrid搜索,将设置以下两项内容
searchjqGrid的参数将设置为true.postDatajqGrid的参数将被修改.postData参数的值是具有某些属性的对象.在的情况下,单一的搜索属性searchField,searchString以及searchOper将被设置.在的情况下,高级搜索只属性filters的的postData参数将被设置.(该属性_search也将设置,但是来自jqGrid的另一个组件,因此重置搜索并不重要.)因此,要重置搜索,您可以为"重置搜索"按钮定义以下事件处理程序:
$("#resetSearch").click(function() {
var grid = $("#list");
grid.jqGrid('setGridParam',{search:false});
var postData = grid.jqGrid('getGridParam','postData');
$.extend(postData,{filters:""});
// for singe search you should replace the line with
// $.extend(postData,{searchField:"",searchString:"",searchOper:""});
grid.trigger("reloadGrid",[{page:1}]);
});
Run Code Online (Sandbox Code Playgroud)
您可以在以下演示中看到所有这些.在演示中,您应首先单击导航栏的"搜索"按钮并设置搜索过滤器.然后,您可以单击"重置搜索"按钮并重置它.