我在哪里设置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*/ ); ...
对我来说有趣的是我的onClose
和beforeShowSearch
事件被击中,但是属性现在正在影响…
应通过设置默认搜索设置
$.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
似乎有点奇怪。