我正在使用一些Kendo UI网格,并且一直在使用可用的过滤选项,并且它们运行良好。有谁知道是否有办法为列进行日期范围过滤?我能得到的最接近的是> =和< =过滤器的类型。但我真的需要能够在2个日期之间进行过滤。
有没有人知道是否有办法实现这一目标?
由于
答案 0 :(得分:4)
答案 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/