为了账号安全,请及时绑定邮箱和手机立即绑定

jqGrid:使用多种方法过滤数据

jqGrid:使用多种方法过滤数据

喵喔喔 2019-09-03 15:27:50
我的要求是显示一个包含多个过滤器的页面以应用于网格数据。假设我们正在谈论订单,订单具有以下属性public class Order {    public int OrderID    public DateTime OrderDate    public DateTime ShipmentDate    public int OrderTotal    public int OrderStatus}在jqgrid对象中,我显示除OrderStatus之外的所有属性要求是创建一个具有的视图左边的jqGrid右边的一个小组在右侧面板中,用户将看到一个复选框列表,表示每个可能的OrderStatus值,并且他希望使用这两种方法进行搜索(例如,选中“已发货订单”复选框,然后使用大于某个值的金额过滤网格)我已经multiplesearch:true在jqGrid对象中配置了高级过滤(),我可以创建组合字段和逻辑运算符的复杂过滤器。有关如何在用户按下搜索按钮时从右侧面板提交数据的任何想法?更新1:序言:Oleg样品太棒了但不幸的是不符合我的客户要求:(@Oleg:我不明白你为什么这么想:如果数据位于网格之外,您将仅在选定行的右窗格中显示订单详细信息。因此,用户将不太了解数据。也许我的描述不是那么清楚,但我不会显示任何订单细节。为了更好地阐明我的要求,我修改了您的示例,以显示所需的最终用户界面,如下图所示: UI就像客户想要的那样客户希望使用两种方法或两者同时过滤网格中的数据:使用multiplesearch网格本身提供的设施(感谢提到的解决方法)使用自定义搜索面板(右侧带有复选框的面板)从功能的角度来看,需求很容易表达:当用户单击复选框或使用本机进行搜索时,multiplesearch我应该将值发布到服务器,包括复选框状态。总结一下,我应该:通过本机发布帖子时添加复选框状态 multiplesearchmultiplesearch当用户单击复选框时添加当前状态(如果有)有没有办法做到这一点?
查看完整描述

3 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

就像后续跟进一样,我在这里包含了另一种方法,我发现它可以获得相同的结果。


该方法假设使用postDatajqGrid 的参数。在方法内部,我定义了各种功能,用于验证复选框的当前状态,并将参数发送到服务器,可用于过滤。


这是一个样本


postData: {

    pending: function () {

        if ($("#cb_pending").is(':checked')) {

            return true;

        } else {

            return false;

        }

    }

}

这个解决方案相对于Oleg描述的解决方案的优点是可以在服务器端使用混合逻辑运算符(AND / OR),而使用Oleg答案中的过滤器部分是不可能的。


快乐的编码!


查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 1764 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信