我的这些工作很棒,如下所示的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文章,这里设置了搜索选项,这就是我做原始代码的原因:
<script>
...
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*/
);
...
</script>
对我而言,有趣的是我的onClose
和beforeShowSearch
事件正在被击中,但这些属性现在已经受到影响......
答案 0 :(得分:1)
默认搜索设置应由
设置$.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
似乎有点奇怪。