2011-07-28 81 views
0

我使用JQGrid在MVC 3上工作。我为搜索创建了一个自定义搜索面板,而不是使用'filterGrid'或'filterToolbar'。我有一个用户操作,JQGrid从中填充。我创建了另一个Json Action,它根据'Custom Search Panel'传递的参数得到过滤结果。 Json Action使用jquery通过Post方法激发。JqGrid搜索面板

我想知道如何用过滤的数据填充JQGrid?有任何想法吗?

回答

1

我建议你用标准方法myGrid.trigger('reloadGrid');重新加载你的网格,让它获取你的动作所需的参数。
我会只用一个动作接收所有过滤:

public ActionResult Fetch(string param1, string param2, int param3, int page, int rows, string search, string sidx, string sord) 
    { 

    } 

所有你需要做的就是在你的jqGrid来定义过滤器:

postData: { 
      Param1: function() { return $("#param1").val(); }, 
      Param2: function() { return $("#param2").val(); } 
      Param3: function() { return $("#param3").val(); } 
     }, 

在功能上加以包装。 现在,您所要做的只是myGrid.trigger('reloadGrid');,您的jqGrid将使用您新定义的过滤器来获取数据。 您可以阅读更多关于它herehere
一如既往,奥列格在这方面一直很有帮助。

+0

我已经尝试过这一点,它似乎我米附近的解决方案,但我得到我的过滤器值等于空当我点击搜索按钮..任何想法为什么? – Saad

+0

opps我的错..现在工作..非常感谢。 – Saad

+0

我有4个搜索字段,所以我必须创建字段的组合,在我的资源库类中使用IF语句,这会变得非常混乱。任何解决方案? – Saad