从选定的日程表项中获取选定的标题和描述信息

Getting the selected title and description information from a selected schedule item

我刚刚开始使用 Kendo MVC 计划组件。我可以获得时间表以显示时间表中包含的数据。但是,我很难确定的是当用户单击日程表中的项目时如何获取与所选项目相关的信息。例如,我希望能够从我传递给 Schedule object 的模型中检索标题和描述字段。

我确实有以下 JS 函数,当用户单击 object 时会触发该函数:

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
})