从日期选择器在剑道UI调度器中设置日视图



我正在使用剑道UI来显示调度程序控制。

我还有日期选择器

这是包含日历的DIV。

        <div id="calendar">
         </div>

我从脚本中加载日历,如下所示

     <script>
          $(document).ready(function () {

              $("#calendar").kendoCalendar();
          });
   </script>

我有调度程序如下

                 <td>
                @(Html.Kendo().Scheduler<SchedulingSystemUI.Models.TaskViewModel>()
        .Name("scheduler")
        .Date(new DateTime(2014, 8, 16))
        .StartTime(new DateTime(2014, 8, 16, 7, 00, 00))
        .Height(600)
        .Views(views =>
        {
            views.DayView();
            views.WeekView(weekView => weekView.Selected(true));
            views.MonthView();
            views.AgendaView();
        })
        .Timezone("Etc/UTC")
        .DataSource(d => d
            .Model(m =>
            {
                m.Id(f => f.TaskID);
                m.Field(f => f.OwnerID).DefaultValue(1);
                //Set the recurrence ID field from the model:
                m.RecurrenceId(f => f.RecurrenceID);
            })
                    .Read("Tasks_Read", "Dashboard")
                                .Create("Tasks_Create", "Dashboard")
                                    .Destroy("Tasks_Destroy", "Dashboard")
                                    .Update("Tasks_Update", "Dashboard")
        )
                )

            </td>

现在点击日期选择器,我想改变调度视图为日。我该怎么做呢?

使用调度器的视图方法将视图更改为日视图。

var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.view("month");

棘手的部分是何时触发此更改。可能是当日期选择器获得焦点时。这里的挑战是API没有焦点事件,但是您必须捕获一个底层元素的焦点(如果支持的话)。我知道它隐藏了一些小部件的实际输入元素,所以我不确定焦点事件将如何工作。

还可以在打开日历时触发它,这是支持的。

最新更新