2016-12-14 34 views
0

我们使用Kendo调度程序在会议室中显示预订。调度程序加载时不需要大量的历史数据,但用户可以轻松浏览。因此,直到计划程序导航到其时间间隔,才能加载这些历史事件。KendoUI调度程序页面按时间排序的事件

有没有一种方法来实现所选时间段的寻呼/过滤?我的第一个猜测是实现自定义传输并查询服务器以查找正确的预订子集,但“read”方法仅调用一次,并且未提供视图属性。建议的做法是什么?

有两个问题我在这里:

  1. 我什么时候加载新数据(事件,方法覆盖等)
  2. 我怎么是可见的时间范围(参数,调度物业等)

回答

2

这里我们如何实现它:

  1. 我们挂钩了调度器的“导航”事件,我们在其中设置要加载的时间帧(例如,当前时间,观看时长)
  2. 我们实施这些要求只有在事件的时限设定在1自定义传输)
  3. 我们称之为dataSource.read当导航事件被触发

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

+0

我就是这么做的。 – Shai

0

构建自己的数据源窗口小部件,然后将其设置

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); 
+0

是的,这是一个可能的选择,但我的问题是我什么时候从数据库中提取数据,以及如何找出要提取的内容。到目前为止,我发现的唯一方法是直接连接到Scheduler上的事件并直接操作数据源,这完全破坏了Kendo人员所做的数据访问和UI的良好分离。 –

+0

我不确定。你有没有尝试在他们的论坛张贴呢? http://www.telerik.com/forums/kendo-ui/scheduler – xinthose

+0

不,还没有。我们已经创建了一些解决方案,但我并不满意,但我会在此处将其作为参考。 –