【问题标题】:Kendo date range end date filtering剑道日期范围结束日期过滤
【发布时间】:2021-03-01 18:54:20
【问题描述】:

尝试设置结束日期以过滤剑道网格。现在用户可以在两个日期之间进行过滤,但如果用户只是输入结束日期,我需要过滤网格。这是我正在使用的代码,不确定我缺少什么。我的网格类似于这个,结束日期不起作用http://jsfiddle.net/OnaBai/5bchz/86/

var orderDateFromFilter = $("#FromDate").val().split('-');
var orderDateToFilter = $("#ToDate").val().split('-');

if (orderDateFromFilter == "") {
    orderDateToFilter = "";
    $("#ToDate").val("");
    $("#input5").val("");
    $("#input6").val("");
}
else if (orderDateToFilter == "") {
    $("#ToDate").val($("#FromDate").val());
    $("#input6").val($("#input5").val());
    orderDateToFilter = orderDateFromFilter;
}

var mydate1 = new Date(orderDateFromFilter[0], orderDateFromFilter[1]-1, orderDateFromFilter[2]);
var mydate2 = new Date(orderDateToFilter[0], orderDateToFilter[1]-1, orderDateToFilter[2]);

var filter = { logic: "and", filters: [] };

    filter.filters.push({ field: "FilterByDate", operator: "gte", value: mydate1 });
    filter.filters.push({ field: "FilterByDate", operator: "lte", value: mydate2 });

    if (orderDateFromFilter== "" && orderDateToFilter == "")
        filter = "";
    grid.dataSource.filter(filter);
}
   

【问题讨论】:

  • 从您共享的 jsfiddle 中,在 "$("#datepicker, #datepicker1").on("change", function ()" function 中,将 "IF" 条件更改为 "if (mindate)" 和 "if (maxdate)",如果选择了其中一个过滤器,这将适用于两个过滤器。
  • 至于您的解决方案,将您的“过滤器”变量更改为此逻辑为“或”->“var filter = { 逻辑:“或”,过滤器:[] };”跨度>
  • deep206 谢谢它的工作原理!

标签: javascript jquery .net kendo-ui kendo-grid


【解决方案1】:

添加这个对我有用的过滤器逻辑“过滤器”变量,使其逻辑为“或”->“var filter = {逻辑:“或”,过滤器:[] };”

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2017-10-19
    相关资源
    最近更新 更多