在使用或条件,同时过滤剑道电网 [英] Using Or condition while filtering kendo grid

查看:198
本文介绍了在使用或条件,同时过滤剑道电网的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用我的MVC应用程序剑道网格。电网有两列名和姓。电网有一个文本框,在这里用户可以输入名字或姓氏进行搜索。我想在此基础上标准来筛选网格。以下是我目前使用code:

 <脚本>
$(文件)。就绪(函数(){
    $(#FirstNameFilter)。KEYUP(函数(){        。VAR值= $(#FirstNameFilter)VAL();
        格= $(#电网)的数据(kendoGrid);        如果(值){
            grid.dataSource.filter({场:名字,经营者:包含,值:值});
        }其他{
            grid.dataSource.filter({});
        }
    });
});
< / SCRIPT>

其中FirstNameFilter是文本框,其中用户可以输入姓或名字的名字。这code正在工作,如果用户输入名字。我想有或条件的过滤器,它也将搜索姓氏。


解决方案

  $(#FirstNameFilter)。KEYUP(函数(){        。VAR值= $(#FirstNameFilter)VAL();
        格= $(#电网)的数据(kendoGrid);
        VAR或滤波器= {逻辑或过滤器:[]};
        如果(值){
            //grid.dataSource.filter({场:名字,经营者:包含,值:值});如果只搜索名字
            orfilter.filters.push({场:名字,经营者:包含,值:值},{场:姓,经营者:包含,值:值});
            grid.dataSource.filter(或滤波器);
        }其他{
            grid.dataSource.filter({});
        }
    });

I am using a kendo grid in my MVC application. Grid has two columns FirstName and LastName. Grid has a textbox where user can enter FirstName or LastName to search. I want to filter grid based on this criteria. Following is the code that i am currently using :

<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>

Where FirstNameFilter is the name of textbox where user can enter FirstName or LastName. This code is currently working if user enters FirstName. I want to have "OR" condition in the filter so that it will also search for LastName.

解决方案

$("#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({});
        }
    });

这篇关于在使用或条件,同时过滤剑道电网的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆