Получение информации о выбранном заголовке и описании из выбранного элемента расписания - PullRequest
0 голосов
/ 24 января 2020

Я только начал использовать компонент расписания Kendo MVC. Я могу получить график для отображения с данными, содержащимися в графике. Но мне трудно определить, как получить информацию, связанную с выбранным элементом, когда пользователь нажимает на элемент в расписании. Например, я хотел бы иметь возможность получить поля заголовка и описания из моей модели, которые я передал объекту 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")
        )
    )

Как получить другую информацию, содержащуюся в расписании, когда пользователь нажимает на элемент?

1 Ответ

1 голос
/ 27 января 2020

Элементы имеют идентификаторы, встроенные в их источник HTML, который можно передать методу getByUid источника данных:

scheduler.element.on("click", ".k-event", function (e) {
    var event = scheduler.dataSource.getByUid($(e.currentTarget).attr("data-uid"))
    // process your event here
})
...