我在ASP.NET MVC中使用开源Kendo Scheduler。我展示了一些会议室,用户可以根据需要预订。现在因为大量的房间,用户可以过滤调度程序中显示的房间。
我目前正在使用这样的功能:
$(document).ready(function () {
$("#btnFilter").click(function () {
$("#scheduler").data().kendoScheduler.resources[0].dataSource.filter({ field: "text", operation: "eq", value: "K15.25" });
$('#scheduler').data().kendoScheduler.view($('#scheduler').data().kendoScheduler.view().name);
});
});
使用此功能,我可以在仅1个房间上过滤调度程序:" K15.25"。但我想在多个房间上过滤调度程序,例如:" K15.25" AND" K16.30" AND" K16.31"并且...我想这是可能的,并且可能不那么难做但我找不到合适的解决方案?
答案 0 :(得分:0)
在这里,我们根据选择过滤资源,"已检查"变量将是所选资源的集合
var scheduler = $("#scheduler").data("kendoScheduler");
var checked = $.map($("#people :checked"), function (checkbox) {
return parseInt($(checkbox).val());
});
var filter = {
logic: "or",
filters: $.map(checked, function (value) {
return {
operator: "eq",
field: "ResourceId",
value: value
};
})
};
//filter the resource data source
console.log("filter", filter);
scheduler.resources[0].dataSource.filter(filter);
scheduler.view(scheduler.view().name);