我在哪里设置closeAfterReset closeAfterSearch设置作为JqGrid的默认设置?

我有这些工作伟大的navgrid设置如下:

this.Grid.navGrid('#' + this.PagerId, {}, {}, {}, {}, { closeAfterSearch: true, closeAfterReset: true, closeOnEscape: true }); 

但我希望将它们设置为默认值。

我试过了:

  • $.extend($.jgrid.defaults, { search : { closeAfterReset: true } });
  • $.extend($.jgrid.search, { closeAfterReset: true } );

……似乎都没有工作。 有小费吗?

编辑:

这是我的代码@Oleg建议 – 仍然无法正常工作:

 $.extend($.jgrid.search, { closeAfterSearch: true, closeAfterReset: true, closeOnEscape: true, beforeShowSearch: function ($form) { ... }, onClose: function (searchBoxId) { ... }, Reset: "Clear Filter", Find: "Filter Grid" }); 

根据jqgrid wiki上的single_searching文章,这里设置了搜索选项,这就是我做原始代码的原因:

  ... jQuery("#grid_id").jqGrid({ ... pager : '#gridpager', ... }).navGrid('#gridpager',{view:true, del:false}, {}, // default settings for edit {}, // default settings for add {}, // delete instead that del:false we need this {search_options}, // search options {} /* view parameters*/ ); ...  

对我来说有趣的是我的onClosebeforeShowSearch事件被击中,但是属性现在正在影响…

应通过设置默认搜索设置

 $.extend($.jgrid.search, {closeAfterSearch: true, closeAfterReset: true, closeOnEscape: true}); 

我没有测试这些设置,但我的标准设置

 $.extend( $.jgrid.search, { multipleSearch: true, multipleGroup: true, recreateFilter: true, closeOnEscape: true, overlay: 0 } ); 

工作完美。

它应该在jqGrid js-files之后和navGrid调用之前执行。 您使用的语法this.Grid.navGrid似乎有点奇怪。