Как заполнить Kendo Scheduler событиями, имеющими определенную продолжительность / время?

Я хочу сделать что-то подобное в своем виджете Kendo Scheduler:

Я дважды щелкаю планировщик, выбираю день начала и день окончания. Затем, когда я выбираю событие «x» или событие «y» (это не имеет значения), я хочу, чтобы всплывающее окно заполнило мой планировщик конкретными часами одного события. То есть, точно так же, как я создал в базе данных разные цвета для всех своих событий.

Например, у меня есть мероприятие, которое называется «утренняя тренировка», и оно всегда проводится с 8 до 16 часов. Итак, каждый раз, когда я выбираю это событие во всплывающем окне, я не хочу терять время, чтобы всегда выбирать часы с 8 до 16 часов. Я уже знаю, что такое мероприятие всегда будет в этот час, поэтому я бы не хотел выбирать часы самостоятельно. Из-за этого не понадобятся datatimepickers.

По сути, я бы выбрал событие, которое хочу, и как только я нажму кнопку «Сохранить», горизонтальная полоса отобразится в планировщике с 08 до 16 часов, и я ничего не «скажу». Я бы указал часы для этих событий в своей базе данных, точно так же, как я указал для них цвета.

Еще один способ объяснить свои желаемые варианты:

Я хочу выбрать для себя два мероприятия в один день. Я хочу дважды щелкнуть всплывающее окно и одновременно выбрать «утреннюю тренировку» (с 08:00 до 16:00) и «дневную тренировку» (с 16:00 до 00:00). Когда я нажимаю кнопку «Сохранить», планировщик заполняется двумя разными горизонтальными полосами, разделенными по времени, а не над друг другом.

Не стесняйтесь спрашивать меня о чем угодно, чтобы лучше понять мои сомнения.


person samureira    schedule 16.09.2015    source источник
comment
Вы можете сделать это разными способами. Вот теория для двух из них: 1. Вы можете установить часы автоматически с помощью javascript: используя событие onChange в dropDownLists, проверьте, какой вариант был выбран, и определите часов в зависимости от выбора. 2. Если вы хотите использовать триггеры базы данных, before insert из конкретной таблицы, проверьте идентификатор типа события (или код, или что-то еще) и установите соответствующие поля времени.   -  person chiapa    schedule 16.09.2015


Ответы (1)


Используя триггерный подход, о котором я упоминал в своем комментарии, это будет примерно так:

CREATE TRIGGER some_trigger ON tbl_EventType
FOR INSERT AS
SELECT @idEventType=(idEventType) FROM INSERTED
SELECT @startTime=(startTime) FROM tbl_EventType where idEventType = @idEventType
SELECT @endTime=(endTime) FROM tbl_EventType where idEventType = @idEventType

INSERT INTO 
tbl_Event
(idEventType, startTime, endTime)
VALUES
(
@idEventType, @startTime, @endTime
)

В операторе вставки вы должны добавить остальные поля, которые есть в вашей таблице. Их значения можно получить из таблицы INSERTED.

person chiapa    schedule 16.09.2015