1

我正在使用带有 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”和“K16.30”和“K16.31”和......我想这是可能的,而且做起来并不难,但我找不到合适的解决方案?

4

1 回答 1

0

在这里,我们根据选择过滤资源,“checked”变量将是所选资源的集合

              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);
于 2015-08-26T07:27:23.940 回答