我正在使用剑道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没有焦点事件,但是您必须捕获一个底层元素的焦点(如果支持的话)。我知道它隐藏了一些小部件的实际输入元素,所以我不确定焦点事件将如何工作。
还可以在打开日历时触发它,这是支持的。