【问题标题】:Date Ranges in jqGrid SearchesjqGrid 搜索中的日期范围
【发布时间】:2012-04-03 19:08:39
【问题描述】:

我们在最新版本的 jqGrid 中使用高级搜索,并且我们的搜索对话框被配置为在网格上方的页面上始终可见。我们的数据列表的结构是动态的。因此,当我们要显示一个列表时,我们首先调用 ajax 来获取网格的列列表。然后我们为网格构建数据模型并请求数据。

目前,在获取列的请求中,我们返回列的数据类型。如果数据是日期,我们会在搜索表单中显示日期选择器。但是,我们的一些客户讨厌必须使用 = 作为日期范围。他们希望能够选择一个日期列,然后使用两个并排的日期选择器设置开始和结束日期。我已经将他们推迟了一段时间,因为他们有能力进行日期范围搜索,但抱怨并没有停止。 (添加带有结束日期的第二个过滤器的点击次数更多)

当我在日期列上配置搜索时,有什么方法可以修改 jqGrid 以控制日期范围?我真的不想设置外部搜索对话 UI 只是为了处理这些投诉,但产品管理非常努力地为网格获取“正常”日期范围。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    您可以创建自己的自定义搜索对话框。看看我几天前问过的question

    使用setGridParam 更改您的postData 数组,并在filters JSON 对象中包含额外的值,这些值将被转移到您可以剖析的服务器端。在您的情况下,您可以在postDatafilter 项内传递您的数据范围StartEnd。然后像这样重新加载你的 jqGrid

        var $grid = $("#list');
        //$grid.setGridParam({datatype:'json', page:1}).trigger('reloadGrid');
        var post_data = {searchField:'',searchString:'', searchOper:'',
                filters:'{"groupOp":"OR","rules":['+
                        '{"field":"Date","op":"ge","data":"2012-04-23"},'+
                                '{"field":"Date","op":"lt","data":"2012-04-25"}' +
                                ']}'
        };
        $grid.setGridParam({postData:post_data}).trigger('reloadGrid');
    

    上面将使用新配置保存postData 数组,reloadGrid 使用新的postData 数组向服务器发送请求。这也将保留分页;但是,要获得网格的旧视图(没有搜索词),您还需要单独实现 reset 按钮并在此之后触发 reloadGrid 以使其生效。

    不确定您现在是否已经解决了您的问题;但是,我将这个解决方案放在这里,供未来遇到同样问题的任何人使用。

    【讨论】:

      【解决方案2】:

      据我所知,没有办法做到这一点,只能自己写。

      http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_searching

      Filter jqGrid Data by Date Range?

      【讨论】:

      • 我想知道如果选择了日期列,我是否可以挂钩某种回调。然后,我可以自动为它们设置第二个过滤器。另外,如果我能以某种方式为搜索添加额外的“操作”,以便我可以在用户界面中使用“From”和“To”这两个词,然后在服务器端翻译这些词来设置我的查询。跨度>
      • 当您选择要搜索的列时不会触发事件,也不会在您添加要搜索的行时触发事件。此处描述了唯一可用的事件:trirand.com/jqgridwiki/doku.php?id=wiki:singe_searching#options
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多