jqGrid清除搜索条件

ack*_*hez 4 search jquery jqgrid

目前我已启用网格设置并启用搜索.当我运行搜索时,一切正常,我可以将好数据返回到网格.我看到URL上的"_search"参数设置为"true",一切都很好.

但是,当完成搜索并且数据不再相关时,我想重新加载网格以显示那里的先前数据(初始页面加载上显示的数据).我做了一个函数来调用"trigger("reloadGrid")"方法,但是只发送相同的数据,而"_search"仍设置为"true".

有没有办法清除搜索请求数据,只是重新加载页面加载上显示的初始数据或至少将"_search"值设置回"false",以便我可以检查它?目前显示原始数据的唯一方法是重新加载页面.

Ole*_*leg 15

如果使用jqGrid搜索,将设置以下两项内容

  1. searchjqGrid的参数将设置为true.
  2. 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)

您可以在以下演示中看到所有这些.在演示中,您应首先单击导航栏的"搜索"按钮并设置搜索过滤器.然后,您可以单击"重置搜索"按钮并重置它.