Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用kendoui进行嵌套过滤_Javascript_Asp.net Core_Kendo Ui_Kendo Grid - Fatal编程技术网

Javascript 使用kendoui进行嵌套过滤

Javascript 使用kendoui进行嵌套过滤,javascript,asp.net-core,kendo-ui,kendo-grid,Javascript,Asp.net Core,Kendo Ui,Kendo Grid,因此,我有两个包含一组数据的网格,网格的每一行都有一个复选框供您选择。基本上,当您在第一个网格上进行选择时,它会过滤第二个网格,以仅显示与网格1上的选择相关的内容。功能齐全。但是,所有这些网格的顶部都有一个搜索栏,供您在网格中搜索包含您键入的术语的项目。这也会根据用户输入过滤网格 我希望通过将过滤器相互嵌套,使它们能够相互协同工作。我希望网格根据选择进行过滤,然后我希望用户能够在搜索栏中键入一些内容,并再次过滤已过滤的网格以查找匹配的项目 我在Telerik论坛上找到一篇帖子,告诉某人尝试类似的

因此,我有两个包含一组数据的网格,网格的每一行都有一个复选框供您选择。基本上,当您在第一个网格上进行选择时,它会过滤第二个网格,以仅显示与网格1上的选择相关的内容。功能齐全。但是,所有这些网格的顶部都有一个搜索栏,供您在网格中搜索包含您键入的术语的项目。这也会根据用户输入过滤网格

我希望通过将过滤器相互嵌套,使它们能够相互协同工作。我希望网格根据选择进行过滤,然后我希望用户能够在搜索栏中键入一些内容,并再次过滤已过滤的网格以查找匹配的项目

我在Telerik论坛上找到一篇帖子,告诉某人尝试类似的东西,但它不起作用:

dataSource.filter({
    logic: 'or',
    filters: [
        { field: "Id", operator: "eq", value: 33 },
        {
            logic: "and",
            filters: [{ field: "Everything", operator: "contains", value: "s" }]
        },
        { field: "Id", operator: "eq", value: 34 },
        {
            logic: "and",
            filters: [{ field: "Everything", operator: "contains", value: "s" }]
        }
    ]
});

我打算这样做的是为具有
(Id=33&&Everything.contains(“s”))| |(Id=34&&Everything.contains(“s”)
)的项筛选网格。如何修复此问题以使其正常工作?

我相信您需要的筛选结构是:

dataSource.filter({
    logic: 'or',
    filters: [
        {
            logic: "and",
            filters: [
                { field: "Everything", operator: "contains", value: "s" },
                { field: "Id", operator: "eq", value: 33 }
            ]
        },
        {
            logic: "and",
            filters: [
                { field: "Everything", operator: "contains", value: "s" },
                { field: "Id", operator: "eq", value: 34 }
            ]
        }
    ]
});

尝试将该结构手动应用于网格,如果可行,您可以实现它。

这就是解决方案。谢谢!