JqGrid过滤规则-我们可以基于数组进行过滤吗?

瓦伦河

我有一个需要过滤JQGrid的数组。

var filter = ["a","b","c","d",...255];
var postData = $('jqGridName').jqGrid('getGridParam', 'postData');
jQuery.extend(postData,
{
    filters: {
        groupOp: "AND",
        rules: [
            { field: "Types", op: "ne", data: filter[0] },
            { field: "Types", op: "ne", data: filter[1] },
            { field: "Types", op: "ne", data: filter[2] },
            { field: "Types", op: "ne", data: filter[3] },
            .
            .
            .
            { field: "Types", op: "ne", data: filter[255] },
        ]
    },
});

数组中的项目数不是固定的。但是最多可以包含255个。所以我需要写到255个(如上所述),还是有任何简单的方法可以达到相同目的?

问候,

瓦伦河

奥列格

我必须永久考虑自定义排序操作​​的问题,我曾答应过(在评论中)答应在我的fork的将来版本的jqGrid中实现该问题最后,我确实实现了该功能。我在下面介绍。

第一个演示使用“搜索工具栏”第二个演示使用“高级搜索”两者都使用通用的jqGrid设置,该设置允许对本地数据进行自定义搜索操作

首先,需要定义新的自定义搜索操作。我在demo IN操作中使用了该操作,该操作允许定义一个具有多个值的规则我在“税”栏中使用自定义操作。它允许过滤除以分号(;)的多个值相应的代码如下所示

$("#grid").jqGrid({
    colModel: [
        { name: "tax", label: "Tax", width: 100, template: "number",
            //sopt contains CUSTOM operation "nIn"
            searchoptions: { sopt: ["nIn", "eq", "ne", "lt", "le", "gt", "ge", "in", "ni"] } },
        ...
    ],
    customSortOperations: {
        // the properties of customSortOperations defines new operations
        // used in postData.filters.rules items as op peroperty
        nIn: {
            operand: "nIN",        // will be displayed in searching Toolbar for example
            text: "numeric IN",    // will be shown in Searching Dialog or operation menu in searching toolbar
            title: "Type multiple values separated by semicolon (";") to search for one from the specified values",
            buildQueryValue: function (otions) {
                // the optional callback can be called if showQuery:true option of the searching is enabled
                return otions.cmName + " " + otions.operand + " (" + otions.searchValue.split(";").join("; ") + ") ";
            },
            funcName: "myCustomIn" // the callback function implements the compare operation
        }
    },
    myCustomIn: function (options) {
        // The method will be called in case of filtering on the custom operation "nIn"
        // All parameters of the callback are properties of the only options parameter.
        // It has the following properties:
        //     item        - the item of data (exacly like in mydata array)
        //     cmName      - the name of the field by which need be filtered
        //     searchValue - the filtered value typed in the input field of the searching toolbar
        var fieldData = options.item[options.cmName],
            data = $.map(
                options.searchValue.split(";"),
                function (val) {
                    return parseFloat(val);
                }
            );
        return $.inArray(parseFloat(fieldData), data) >= 0;
    }
});

结果,"nIn"将以与标准操作相同的方式将操作置于op属性中jqGrid像在搜索工具栏中一样显示操作(请参见属性值)。该属性定义在操作上方显示的工具提示。filters.rules"en""nIN"operand: "nIN"tooltip

在此处输入图片说明

并且可以像下面的动画gif一样过滤结果

在此处输入图片说明

在过滤期间,jqGrid会调用myCustomIn回调。因此,如何执行相应的操作绝对是免费的。

同样,也可以使用“高级搜索”:

在此处输入图片说明

更新: Wiki文章更详细地描述了新功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们可以在 Kafka 中进行服务器端过滤吗?

来自分类Dev

我们可以同时过滤多个标签吗

来自分类Dev

我们可以在“过滤器”中使用$ sce.trustAsHtml(string)吗?

来自分类Dev

我们可以在“过滤器”中使用$ sce.trustAsHtml(string)吗?

来自分类Dev

我们可以在Elasticsearch过滤器中使用多个条件吗

来自分类Dev

我们可以使用规范名称来过滤计算机吗?

来自分类Dev

我们可以在 where 条件下对度量应用过滤器吗?

来自分类Dev

我们可以使用angular js中的自定义过滤器过滤嵌套的json数据吗

来自分类Dev

由于Firebase规则不是过滤器,我们如何过滤?

来自分类Dev

如何基于几个规则过滤数组的数组

来自分类Dev

我们如何从数组中过滤文本

来自分类Dev

SOLR日光浴室我们可以使用带有maxmax查询的过滤查询吗?

来自分类Dev

我们能否基于karate.env实现“示例过滤”

来自分类Dev

如果我们删除HH,则基于“从&到日期”过滤结果不起作用;毫米:秒

来自分类Dev

如何在jqgrid上进行外部过滤

来自分类Dev

Firestore:我们不能在使用whereIn过滤的字段上使用orderBy吗?

来自分类Dev

我们如何在红宝石上使用rethinkdb和nobrainer对OR进行过滤?

来自分类Dev

在 Gremlin 中,在 Both() 步骤之后,根据我们刚刚遍历的方向进行过滤

来自分类Dev

我们可以使用JQuery或Javascript创建CSS选择器规则吗?

来自分类Dev

我们可以增加AWS中ACL规则的限制吗

来自分类Dev

我们可以忽略特定域的htaccess重写规则吗?

来自分类Dev

我可以在foreach循环中过滤$ _GET数组吗

来自分类Dev

我可以在 Elasticsearch 中过滤子数组吗?

来自分类Dev

AngularJS:我可以使用过滤器对ng-repeat中的数组进行分块吗?

来自分类Dev

iOS 7.1具有比文档中列出的CoreImage过滤器更多的过滤器(例如CIBumpDistortion和CIBumpDistortionLinear。)我们可以使用它们吗?

来自分类Dev

我们可以将Java中的最终重排序规则视为事前发生的规则吗?

来自分类Dev

我们能否将控制器中的JSON数据(MM / DD / YYYY格式)与今天的日期在自定义过滤器中进行比较,并在数组中显示过滤后的列表

来自分类Dev

SQL查询轨道,如何过滤我们当前的保留

来自分类Dev

我们如何使用DPLYR过滤R中的联接

Related 相关文章

  1. 1

    我们可以在 Kafka 中进行服务器端过滤吗?

  2. 2

    我们可以同时过滤多个标签吗

  3. 3

    我们可以在“过滤器”中使用$ sce.trustAsHtml(string)吗?

  4. 4

    我们可以在“过滤器”中使用$ sce.trustAsHtml(string)吗?

  5. 5

    我们可以在Elasticsearch过滤器中使用多个条件吗

  6. 6

    我们可以使用规范名称来过滤计算机吗?

  7. 7

    我们可以在 where 条件下对度量应用过滤器吗?

  8. 8

    我们可以使用angular js中的自定义过滤器过滤嵌套的json数据吗

  9. 9

    由于Firebase规则不是过滤器,我们如何过滤?

  10. 10

    如何基于几个规则过滤数组的数组

  11. 11

    我们如何从数组中过滤文本

  12. 12

    SOLR日光浴室我们可以使用带有maxmax查询的过滤查询吗?

  13. 13

    我们能否基于karate.env实现“示例过滤”

  14. 14

    如果我们删除HH,则基于“从&到日期”过滤结果不起作用;毫米:秒

  15. 15

    如何在jqgrid上进行外部过滤

  16. 16

    Firestore:我们不能在使用whereIn过滤的字段上使用orderBy吗?

  17. 17

    我们如何在红宝石上使用rethinkdb和nobrainer对OR进行过滤?

  18. 18

    在 Gremlin 中,在 Both() 步骤之后,根据我们刚刚遍历的方向进行过滤

  19. 19

    我们可以使用JQuery或Javascript创建CSS选择器规则吗?

  20. 20

    我们可以增加AWS中ACL规则的限制吗

  21. 21

    我们可以忽略特定域的htaccess重写规则吗?

  22. 22

    我可以在foreach循环中过滤$ _GET数组吗

  23. 23

    我可以在 Elasticsearch 中过滤子数组吗?

  24. 24

    AngularJS:我可以使用过滤器对ng-repeat中的数组进行分块吗?

  25. 25

    iOS 7.1具有比文档中列出的CoreImage过滤器更多的过滤器(例如CIBumpDistortion和CIBumpDistortionLinear。)我们可以使用它们吗?

  26. 26

    我们可以将Java中的最终重排序规则视为事前发生的规则吗?

  27. 27

    我们能否将控制器中的JSON数据(MM / DD / YYYY格式)与今天的日期在自定义过滤器中进行比较,并在数组中显示过滤后的列表

  28. 28

    SQL查询轨道,如何过滤我们当前的保留

  29. 29

    我们如何使用DPLYR过滤R中的联接

热门标签

归档