在过滤kendo网格时使用Or条件

时间:2016-01-14 01:31:30

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我在我的MVC应用程序中使用了一个kendo网格。 Grid有两列FirstName和LastName。 Grid有一个文本框,用户可以在其中输入FirstName或LastName进行搜索。我想根据这个标准过滤网格。以下是我目前使用的代码:

<script>
$(document).ready(function () {
    $("#FirstNameFilter").keyup(function () {

        var value = $("#FirstNameFilter").val();
        grid = $("#grid").data("kendoGrid");

        if (value) {
            grid.dataSource.filter({ field: "FirstName", operator: "contains", value: value });
        } else {
            grid.dataSource.filter({});
        }
    });
});
</script>

其中FirstNameFilter是文本框的名称,用户可以在其中输入FirstName或LastName。如果用户输入FirstName,此代码当前正在运行。我想要&#34; OR&#34;过滤条件,以便它也将搜索LastName。

1 个答案:

答案 0 :(得分:2)

$("#FirstNameFilter").keyup(function () {

        var value = $("#FirstNameFilter").val();
        grid = $("#grid").data("kendoGrid");
        var orfilter = { logic: "or", filters: [] };
        if (value) {
            //grid.dataSource.filter({ field: "FirstName", operator: "contains", value: value }); if searching FirstName only
            orfilter.filters.push({ field: "FirstName", operator: "contains", value: value }, { field: "LastName", operator: "contains", value: value });
            grid.dataSource.filter(orfilter);
        } else {
            grid.dataSource.filter({});
        }
    });