Kendo UI - 两个日期之间的网格/过滤器菜单自定义

时间:2014-08-26 13:38:15

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

我正在使用一些Kendo UI网格,并且一直在使用可用的过滤选项,并且它们运行良好。有谁知道是否有办法为列进行日期范围过滤?我能得到的最接近的是> =和< =过滤器的类型。但我真的需要能够在2个日期之间进行过滤。

有没有人知道是否有办法实现这一目标?

由于

2 个答案:

答案 0 :(得分:4)

我正在分享关于列的日期范围过滤器的链接..

http://dojo.telerik.com/@pesho/UMIw/3

我希望你喜欢它.. 然后不要忘记投票。

答案 1 :(得分:0)

您基本上需要为DataSource定义过滤器,然后调用filter方法。

这样做如下:

// Get from date in this case we read it from an input DatePicker
var from = $("#from").data("kendoDatePicker").value()
// Get to date in this case we read it from an input DatePicker
var to = $("#to").data("kendoDatePicker").value()
// Create a filters condition. By default, the conditions are "and" but they might also
// be "or"
var filters = [
    {field: "BirthDate", operator: "gte", value: from},
    {field: "BirthDate", operator: "lte", value: to}
];
// Set the filtering condition to our grid dataSource
grid.dataSource.filter(filter);

您可以在此处看到它:http://jsfiddle.net/OnaBai/f19k0vrt/3/

如果要永久显示日期,也可以在“网格”工具栏中定义日期的输入字段。

定义模板:

<script id="dates-template" type="text/kendo-tmpl">
    From: <input id="from" style="width: 120px"/> 
    To: <input id="to" style="width: 120px"/>
    <button id="filter" class="k-button">Filter</button>
</script>

并在网格初始化中添加上面定义的工具栏模板:

var grid = $("#grid").kendoGrid({
    toolbar   : [
        { template: kendo.template($("#dates-template").html()) }
    ],
    dataSource: ds,

您可以在此处看到它:http://jsfiddle.net/OnaBai/f19k0vrt/4/