Kendo UI 调度程序页面事件(按时间)

KendoUI Scheduler Page Events by Time

我们正在使用 Kendo Scheduler 来显示会议室的预订情况。加载Scheduler时有大量历史数据不需要,但用户可以轻松浏览。因此,在将调度程序导航到它们的时间间隔之前,不需要加载这些历史事件。

有没有办法在选定的时间段实现paging/filtering?我的第一个猜测是实现自定义传输并在服务器上查询正确的预订子集,但是 "read" 方法只被调用一次并且没有提供视图属性。这样做的建议方法是什么?

我这里有两个问题:

  1. 我什么时候加载新数据(事件、方法覆盖等)
  2. 如何获取可见的时间范围(参数、Scheduler 属性 等)

为小部件构建您自己的数据源,然后进行设置

var dataSource = new kendo.data.SchedulerDataSource();
for (var i = 0; i < 7; i++) {
    dataSource.add({
        id: i,  // Sunday = 0
        start: date_start,
        end: date_end,
        title: title,
        isAllDay: isAllDay,
     });
}
var scheduler = $("#schedule").data("kendoScheduler");
scheduler.setDataSource(dataSource);

以下是我们的实现方式:

  1. 我们连接到调度程序的 "navigate" 事件,我们在其中设置要加载的时间范围(e.i。当前时间,视图长度)
  2. 我们实施了自定义传输,它仅请求 1) 中设置的时间范围内的事件
  3. 我们在触发导航事件时调用 dataSource.read

当我们使用 AngularJS 时,这整个事情都是通过配置对象完成的,并且时间范围设置对于包含调度程序的控制器范围是全局的。