如何使用postData筛选器刷新jqGrid搜索对话框

如何使用postData筛选器刷新jqGrid搜索对话框,jqgrid,Jqgrid,我正在与jqGrid合作,到目前为止,一切都很顺利。但现在我正在努力让用户能够保存他们的搜索,以便他们可以在以后检索它们和/或将它们应用到不同的网格。事实证明,储蓄是最容易的部分。我可以让网格根据指定的postData筛选器进行筛选,但搜索对话框不会使用筛选条件刷新。我有一个小测试: $("#grid").jqGrid('navGrid','#pager', {edit: false, add: false, del: false, refresh: false, searchtext: 'Se

我正在与jqGrid合作,到目前为止,一切都很顺利。但现在我正在努力让用户能够保存他们的搜索,以便他们可以在以后检索它们和/或将它们应用到不同的网格。事实证明,储蓄是最容易的部分。我可以让网格根据指定的postData筛选器进行筛选,但搜索对话框不会使用筛选条件刷新。我有一个小测试:

$("#grid").jqGrid('navGrid','#pager', {edit: false, add: false, del: false, refresh: false, searchtext: 'Search'}, {}, {}, {},
{
    multipleSearch: true,
    closeAfterSearch: true,
    closeOnEscape: true,
    searchOnEnter: true,
    Find: "Search",
    afterShowSearch: function ()
    {
       ...// code to create the save search buttons goes here

       $("#fbox_" + gridID + "_save").bind('click', function()
       {                    
           var filters = {"groupOp":"AND","rules":[{"field":"id","op":"eq","data":"2"}]};
           $('#grid').jqGrid('setGridParam',
           {
               postData: {'filters': filters}, search: true}).trigger('reloadGrid');
           }
     }
});
我尝试了几种方法,但似乎没有任何方法可以更新“高级搜索”对话框


作为旁注…我没有将“重新创建筛选器”设置为true。似乎某个地方有一个bug…当“重建过滤器”设置为true时,当应用搜索时,关闭对话框,重新打开搜索对话框,点击“重置”,关闭对话框,然后返回,没有可用的选项。我得到的只是“分组”选项(和/或)。我在Oleg的一些演示中对此进行了测试,结果是一样的,所以这不仅仅是我的代码。

设置recreateFilter:true解决了显示问题。但是,它仍然存在一个问题,即在您单击“重置”按钮后,关闭搜索对话框,然后返回搜索对话框,您只会看到组运算符下拉列表(“和/或”)及其旁边的“+”按钮。我可以通过触发“+”按钮上的click事件来解决这个问题

var tableRows = $('#fbox_grid > table').find('tr');

if (tableRows.length == 2)
{
    $('input[type="button"]').trigger('click');
}

现在一切都很好。

嗨,杰,你的解决方案可能对我有用,我可以与你联系吗?(电子邮件?)嗨,杰,我需要解决西姆拉的情况,我能和你联系吗?(电子邮件?)