【问题标题】:JqGrid Search PanelJqG​​rid 搜索面板
【发布时间】:2013-12-15 02:43:32
【问题描述】:

我正在使用 JQGrid 开发 MVC 3。我为搜索创建了一个自定义搜索面板,而不是使用“filterGrid”或“filterToolbar”。我有一个填充 JQGrid 的用户操作。我创建了另一个 Json Action,它根据“自定义搜索面板”传递的参数获取过滤结果。 Post 方法使用 jquery 触发的 Json Action。

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

【问题讨论】:

    标签: asp.net-mvc jqgrid jqgrid-asp.net


    【解决方案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
    与往常一样,Oleg 在这方面提供了很大帮助。

    【讨论】:

    • 我已经尝试过了,似乎我接近解决方案,但是当我点击搜索按钮时,我的过滤器值等于 null .. 任何想法为什么?
    • 我有 4 个搜索字段,所以我必须使用我的存储库类中的 IF 语句来创建字段组合,这变得如此混乱。有什么解决办法吗?
    • @Saad:您可以使用不同的解决方案。我猜您的存储库公开了 IQueryable?!我个人使用 nHibernate 并结合标准。这里有一个很好的解释:stackoverflow.com/questions/2500972/…
    • @Saad:没问题。很高兴我有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    相关资源
    最近更新 更多