Kendo ui Scheduler查看日期范围

时间:2016-11-15 19:26:19

标签: kendo-ui kendo-scheduler

要点:
如何在导航到其他日期,周,月等时检索调度程序视图的开始和结束日期

详情:
导航到当前所选视图中的新日期范围时,出于此帖子的目的,视图按月显示,我想获取“下一个”视图的开始日期和结束日期。我想导航到一个新视图,以便仅在该日期范围内触发向服务器请求数据的请求。我们已经在前端有一个完全开发的CRUD,list,search api,我们用它来插入现有的Ui组件,我想用它。之前已经问过这个问题,但我找不到答案。所有答案都需要将调度程序与“传输”紧密耦合。

我过去曾使用过Arshaw和dhtmlx日历,除非他们最近改变了api,这是一项简单的任务。

对于Kendo ui Scheduler 在导航到下一个“视图”之前调用“导航”事件(虽然我有一个我可以在这里使用的工作,但根本不优雅)。

“dataBinding”事件过于频繁地被调用:点击,拖动等等(再一次,我可以围绕她做一个工作,但又一次,不优雅)。

其他人有同样的问题: http://www.telerik.com/forums/start-end-date-of-month-view ......但Telerik的回复是: http://www.telerik.com/support/code-library/kendoui-scheduler-server-filtering http://www.telerik.com/support/code-library/server-filtering http://www.telerik.com/forums/get-scheduler-view-startdate-and-enddate-in-navigate-event
...但我不希望小部件与数据检索有任何关系,我想检测事件“navigateOnArrival”,“viewReady”,“viewRendered”或其他东西,然后让我们的数据服务处理检索,否则我正在将调度程序绑定到我们的api。

我很自信我错过了一些简单的事情 在此先感谢,欢迎所有评论。

1 个答案:

答案 0 :(得分:2)

对于任何有兴趣的人,我都是一种方式,而Telerik也提供了答案。

我想出的方法,挂钩到“dataBinding”事件,根据你的选择:

yourSched.schedulerOptions = {
views: ["timeline"],  
  dataSource, yourSource,  
  dataBinding: function(e){
      var vw = yourSched.view();
      var startDate = vw.startDate();
      var endDate = vw.endDate();
      if(e.action==="rebind"){   // <<<--------  This gets called once as nav to diff view or date range.
        // Now you can retrieve from server
        myService.getDataFromServer(startDate, endDate)
        .then(function(response){
          ///load etc.
        });
      }
  }
}

Telerik还提供了一个答案: http://www.telerik.com/forums/scheduler-datasource-refresh-based-on-navigate-date-range#VqcirkrQX0-UK66dHTA0ig