Kendo Scheduler:阻止编辑已完成的事件

时间:2014-02-13 08:02:40

标签: javascript kendo-ui kendo-scheduler

如何防止编辑已在kendo调度程序中完成的事件。

以下是两种情况:

  1. 让我们说这个活动于2014年1月5日开始,并且持续(每天)10天,即到2014年1月15日。所以现在不应该编辑(现在=当前日期)

  2. 活动于2014年2月5日宣布,并将持续(每日)至2月25日。 8天后,即2月13日,编辑了整个活动系列。它应该只在2月13日到2月25日之间生效,不应该完成一次。

  3. 任何帮助都可以得到赞赏。

1 个答案:

答案 0 :(得分:1)

@(Html.Kendo().Scheduler<ViewModel>()
  .Name("scheduler")
    .Date(DateTime.Today)
    .Events(events => events
         .Edit("ShowBookingPopup")
         .Save("ShowBookingPopup")
   ......
)

* ShowBookingPopup - 是自定义java脚本函数,通过它您可以有条件允许或阻止编辑,如下所示。

   function ShowBookingPopup(e) {
         var today = new Date();
        // Your custom condition to allow/block editing of the event
        if (e.event.Start < today) { 
            // If the event date is in the past then disallow update by blocking the default behavior and showing an alert for the same
           setTimeout(function () {
                           alert("Cannot edit the event.");
                       }, 0);
           e.preventDefault();
        }

     }

您还可以使用telerik事件示例中说明的其他事件,并根据您的调度程序行为进行自定义。 http://demos.telerik.com/kendo-ui/web/scheduler/move-resize.html