0

我在我的项目中使用 jqgrid 高级搜索。一切正常。现在我必须在单击搜索按钮时显示默认搜索条件。请告诉我如何实现这一目标。我在 beforeShowSearch 中尝试过以下代码

var postdata = 
                {
                    filters: '{"groupOp":"AND","rules":[' +
                            '{"field":"invdate","op":"gt","data":"2007-09-06"}]}'
                };
                grid.jqGrid('setGridParam', { search: true, postData: postdata });

它很有用。

4

1 回答 1

4

如果您需要在每次打开高级搜索对话框时重置搜索过滤器,则不能beforeShowSearch在这种情况下使用回调,因为调用. 您可以做的是添加关于navButtonAdd的自定义搜索按钮,该按钮看起来与原始搜索按钮完全一样,并使用navGrid的选项来没有标准按钮。在您内部可以重置searchGrid调用之前的属性。postData.filtersbeforeShowSearchsearch: falseonClickButtonfilterspostData

或者,您可以重置回调postData.filters内部的值并使用高级搜索选项强制在每次打开搜索对话框时创建新过滤器。loadCompleterecreateFilter: true

该演示演示了最后一种方法。它首先定义变量

var defFilter = '{"groupOp":"AND","rules":[{"field":"invdate","op":"gt","data":"2007-09-06"}]}';

loadComplete用于重置过滤器

loadComplete: function () {
    $(this).jqGrid("getGridParam", "postData").filters = defFilter;
}
于 2013-02-13T11:16:43.977 回答