我刚刚开始使用Kendo MVC Schedule组件。我可以获取时间表以显示时间表中包含的数据。但是,我很难确定的是如何在用户单击计划中的项目时获取与所选项目相关的信息。例如,我希望能够从传递给Schedule对象的模型中检索标题和描述字段。
我确实具有以下JS函数,当用户单击对象时,该函数将被触发:
function onChange(e) {
var start = e.start;
var end = e.end;
displayMessageModal("Selection between " + start + " and " + end);
}
我的MVC代码如下:
@(Html.Kendo().Scheduler<LaibeManpower.Entities.EmployeeUnavailabilitySchedule>()
.Name("EmployeeUnavailableSchedule")
.Date(new DateTime(System.DateTime.Now.Ticks))
.Height(800)
.Editable(false)
.Pdf(pdf => pdf
.FileName("Employee Unavailability Schedule.pdf")
.ProxyURL(Url.Action("PdfExportSave", "EmployeeUnavailableSchedule"))
)
.Toolbar(t => t.Pdf())
.Views(views =>
{
views.MonthView();
views.DayView();
})
.Selectable(true)
.Events(events => events.Change("onChange"))
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.RowId);
})
.Read("ReadSchedule", "Employee")
)
)
当用户单击某个项目时,如何获取时间表中包含的其他信息?
项目在其HTML源代码中嵌入了uid,您可以将其传递给DataSource的getByUid方法:
scheduler.element.on("click", ".k-event", function (e) {
var event = scheduler.dataSource.getByUid($(e.currentTarget).attr("data-uid"))
// process your event here
})