Kendo UI 网格过滤具有多个值的列

Bry*_*ler 4 kendo-grid

我一直在使用过滤器在我的 KendoUI 网格上成功搜索。然而,一个新的应用程序有一些多值字段,我的过滤不起作用 - 它实际上似乎永远旋转。

多值字段的示例:

field   : "rspPersons",
title   : "Responsible Persons",
type    : "Text",
template: "# var t=rspPersons.join(', ');data.tagsString=t; # #=t #"
Run Code Online (Sandbox Code Playgroud)

我的过滤器的一个例子:

                        orfilter.filters.push( {
                            field : "chgDescription",
                            operator : "contains",
                            value : v1
                        },
                        orfilter.filters.push( {
                            field : "rspPersons",
                            operator : "contains",
                            value : v1
                        } 
Run Code Online (Sandbox Code Playgroud)

第二个过滤器将使整个搜索崩溃。如果我把它拿出来,那么搜索/过滤器就可以正常工作。

那么如何过滤/搜索多值字段呢?

San*_*ile 5

您需要将多个过滤条件推入过滤器数组并将其分配给网格的数据源。这是我的做法。

function onChange() {
    var filter = { logic: "or", filters: [] };
    //  values is an array containing values to be searched
    var values = this.value();
    $.each(values, function (i, v) {
        filter.filters.push({ field: "column_name", operator: "eq", value: v 
       });
    });
    var dataSource = $("#searchgrid").data("kendoGrid").dataSource;
    dataSource.filter(filter);
}
Run Code Online (Sandbox Code Playgroud)