Your search did not match any results.

Scheduler - Custom Templates

The Scheduler contains the following properties used to specify custom templates globally and for individual views.

To customize the appointment details form, implement the onAppointmentFormOpening handler. In this demo, this handler adds custom fields to the appointment details form.

www.wikipedia.org
Backend API
@model DevExtreme.NETCore.Demos.ViewModels.SchedulerViewModel <div class="long-title"><h3>DXCinema Show Times</h3></div> @(Html.DevExtreme().Scheduler() .ID("scheduler") .DataSource(Model.CinemaData) .TimeZone("America/Los_Angeles") .StartDateExpr("StartDate") .EndDateExpr("EndDate") .Views(new[] { SchedulerViewType.Day, SchedulerViewType.Week, SchedulerViewType.TimelineDay }) .CurrentView(SchedulerViewType.Day) .CurrentDate(new DateTime(2021, 4, 27)) .FirstDayOfWeek(FirstDayOfWeek.Sunday) .StartDayHour(9) .EndDayHour(23) .ShowAllDayPanel(false) .Height(600) .Groups(new[] { "TheatreId" }) .CrossScrollingEnabled(true) .CellDuration(20) .Editing(e => e.AllowAdding(false)) .Resources(res => { res.Add() .FieldExpr("MovieId") .AllowMultiple(false) .UseColorAsDefault(true) .DataSource(Model.Movies) .ColorExpr("Color") .ValueExpr("ID"); res.Add() .FieldExpr("TheatreId") .Label("Text") .DataSource(Model.Theatres) .DisplayExpr("Text") .ValueExpr("ID"); }) .AppointmentTooltipTemplate(@<text> @(await Html.PartialAsync("_AppointmentTooltipTemplate")) </text>) .AppointmentTemplate(@<text> <% var movie = getMovieById(targetedAppointmentData.MovieId); %> <div class="showtime-preview"> <div><%- movie.Text %></div> <div> Ticket Price: <strong>$<%- targetedAppointmentData.Price %></strong> </div> <div> <%- formatTime(new Date(targetedAppointmentData.displayStartDate)) %> - <%- formatTime(new Date(targetedAppointmentData.displayEndDate)) %> </div> </div> </text>) .OnAppointmentFormOpening("appointmentForm_created") ) <script> var formatTime = new Intl.DateTimeFormat("en-US", { hour: "numeric", minute: "numeric" }).format; var moviesData = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.Movies)); function getSchedulerInstance() { return $("#scheduler").dxScheduler("instance"); } function getMovieById(id) { return DevExpress.data.query(moviesData) .filter("ID", id) .toArray()[0]; } function appointmentForm_created(data) { var form = data.form, movie = getMovieById(data.appointmentData.MovieId) || {}, startDate = new Date(data.appointmentData.StartDate); form.option("items", [{ label: { text: "Movie" }, editorType: "dxSelectBox", dataField: "MovieId", editorOptions: { dataSource: moviesData, displayExpr: "Text", valueExpr: "ID", onValueChanged: function(args) { movie = getMovieById(args.value); form.updateData("director", movie.Director); form.updateData("endDate", new Date(startDate.getTime() + 60 * 1000 * movie.Duration)); } }, }, { label: { text: "Director" }, name: "Director", editorType: "dxTextBox", editorOptions: { value: movie.Director, readOnly: true } }, { dataField: "StartDate", editorType: "dxDateBox", editorOptions: { width: "100%", type: "datetime", onValueChanged: function(args) { startDate = new Date(args.value); form.updateData("endDate", new Date(startDate.getTime() + 60 * 1000 * movie.Duration)); } } }, { name: "EndDate", dataField: "EndDate", editorType: "dxDateBox", editorOptions: { width: "100%", type: "datetime", readOnly: true } }, { dataField: "Price", editorType: "dxRadioGroup", editorOptions: { dataSource: [5, 10, 15, 20], itemTemplate: function(itemData) { return "$" + itemData; } } }]); } </script>
<% var movie = getMovieById(appointmentData.MovieId), data = arguments[0]; %> <div class="movie-tooltip"> <img src="<%- movie.Image %>" alt="" /> <div class="movie-info"> <div class="movie-title"> <%- movie.Text %> (<%- movie.Year %>) </div> <div> Director <%- movie.Director %> </div> <div> Duration <%- movie.Duration %> minutes </div> </div> </div>
using DevExtreme.NETCore.Demos.Models.SampleData; using DevExtreme.NETCore.Demos.ViewModels; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; namespace DevExtreme.NETCore.Demos.Controllers { public class SchedulerController : Controller { public ActionResult CustomTemplates() { return View(new SchedulerViewModel { CinemaData = SampleData.CinemaData, Movies = SampleData.Movies, Theatres = SampleData.Theatres }); } } }
using System; using System.Collections.Generic; namespace DevExtreme.NETCore.Demos.Models.SampleData { public partial class SampleData { public static readonly IEnumerable<CinemaAppointment> CinemaData = new[] { new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-04-26T16:10:00.000Z", EndDate = "2021-04-26T18:01:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-04-26T18:30:00.000Z", EndDate = "2021-04-26T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 15, StartDate = "2021-04-26T20:30:00.000Z", EndDate = "2021-04-26T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 5, StartDate = "2021-04-26T23:00:00.000Z", EndDate = "2021-04-27T00:08:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 10, StartDate = "2021-04-27T00:30:00.000Z", EndDate = "2021-04-27T02:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 10, StartDate = "2021-04-27T02:30:00.000Z", EndDate = "2021-04-27T04:02:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 10, StartDate = "2021-04-27T04:20:00.000Z", EndDate = "2021-04-27T05:53:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-04-27T16:10:00.000Z", EndDate = "2021-04-27T18:20:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-04-27T19:00:00.000Z", EndDate = "2021-04-27T20:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 5, StartDate = "2021-04-27T21:00:00.000Z", EndDate = "2021-04-27T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 5, StartDate = "2021-04-27T23:20:00.000Z", EndDate = "2021-04-28T00:28:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 10, StartDate = "2021-04-28T01:00:00.000Z", EndDate = "2021-04-28T02:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 15, StartDate = "2021-04-28T03:00:00.000Z", EndDate = "2021-04-28T04:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 5, StartDate = "2021-04-28T04:50:00.000Z", EndDate = "2021-04-28T05:58:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-04-28T16:00:00.000Z", EndDate = "2021-04-28T17:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-04-28T18:00:00.000Z", EndDate = "2021-04-28T19:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-04-28T20:20:00.000Z", EndDate = "2021-04-28T22:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-04-28T22:45:00.000Z", EndDate = "2021-04-29T00:55:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 10, StartDate = "2021-04-29T01:20:00.000Z", EndDate = "2021-04-29T02:28:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 20, StartDate = "2021-04-29T03:00:00.000Z", EndDate = "2021-04-29T05:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-04-29T16:00:00.000Z", EndDate = "2021-04-29T17:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-04-29T18:00:00.000Z", EndDate = "2021-04-29T19:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-04-29T20:20:00.000Z", EndDate = "2021-04-29T22:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-04-29T22:45:00.000Z", EndDate = "2021-04-30T00:55:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 5, StartDate = "2021-04-30T01:20:00.000Z", EndDate = "2021-04-30T02:28:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-04-30T03:00:00.000Z", EndDate = "2021-04-30T05:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-04-30T16:30:00.000Z", EndDate = "2021-04-30T18:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-04-30T18:30:00.000Z", EndDate = "2021-04-30T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 5, StartDate = "2021-04-30T20:30:00.000Z", EndDate = "2021-04-30T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-04-30T23:00:00.000Z", EndDate = "2021-05-01T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 5, StartDate = "2021-05-01T01:30:00.000Z", EndDate = "2021-05-01T02:38:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 15, StartDate = "2021-05-01T03:20:00.000Z", EndDate = "2021-05-01T05:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-01T16:30:00.000Z", EndDate = "2021-05-01T18:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 10, StartDate = "2021-05-01T18:30:00.000Z", EndDate = "2021-05-01T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-01T20:30:00.000Z", EndDate = "2021-05-01T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-05-01T23:00:00.000Z", EndDate = "2021-05-02T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 10, StartDate = "2021-05-02T01:30:00.000Z", EndDate = "2021-05-02T02:38:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-02T03:20:00.000Z", EndDate = "2021-05-02T05:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-02T16:30:00.000Z", EndDate = "2021-05-02T18:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-02T18:30:00.000Z", EndDate = "2021-05-02T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-02T20:30:00.000Z", EndDate = "2021-05-02T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-05-02T23:00:00.000Z", EndDate = "2021-05-03T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 10, StartDate = "2021-05-03T01:30:00.000Z", EndDate = "2021-05-03T02:38:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 15, StartDate = "2021-05-03T03:20:00.000Z", EndDate = "2021-05-03T05:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-03T16:30:00.000Z", EndDate = "2021-05-03T18:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-03T18:30:00.000Z", EndDate = "2021-05-03T19:57:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-03T20:20:00.000Z", EndDate = "2021-05-03T22:11:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-03T23:00:00.000Z", EndDate = "2021-05-04T00:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 10, StartDate = "2021-05-04T01:00:00.000Z", EndDate = "2021-05-04T02:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 20, StartDate = "2021-05-04T03:00:00.000Z", EndDate = "2021-05-04T04:27:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 4, Price = 15, StartDate = "2021-05-04T04:50:00.000Z", EndDate = "2021-05-04T05:58:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-05T02:00:00.000Z", EndDate = "2021-05-04T17:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-04T18:30:00.000Z", EndDate = "2021-05-04T20:03:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-04T20:30:00.000Z", EndDate = "2021-05-04T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-04T22:30:00.000Z", EndDate = "2021-05-05T00:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-05T00:30:00.000Z", EndDate = "2021-05-05T01:57:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-05-05T03:00:00.000Z", EndDate = "2021-05-05T05:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-06T02:00:00.000Z", EndDate = "2021-05-05T17:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-06T04:00:00.000Z", EndDate = "2021-05-06T05:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-05T20:00:00.000Z", EndDate = "2021-05-05T21:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-05T22:30:00.000Z", EndDate = "2021-05-06T00:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-06T00:30:00.000Z", EndDate = "2021-05-06T01:57:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-05-06T03:00:00.000Z", EndDate = "2021-05-06T05:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-06T16:00:00.000Z", EndDate = "2021-05-06T17:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-06T18:00:00.000Z", EndDate = "2021-05-06T19:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-06T20:00:00.000Z", EndDate = "2021-05-06T21:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-06T22:30:00.000Z", EndDate = "2021-05-07T00:21:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-07T00:30:00.000Z", EndDate = "2021-05-07T01:57:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 15, StartDate = "2021-05-07T03:00:00.000Z", EndDate = "2021-05-07T05:10:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-07T16:00:00.000Z", EndDate = "2021-05-07T17:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-07T18:00:00.000Z", EndDate = "2021-05-07T19:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-07T20:00:00.000Z", EndDate = "2021-05-07T21:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-05-07T22:30:00.000Z", EndDate = "2021-05-08T00:40:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-08T01:00:00.000Z", EndDate = "2021-05-08T02:27:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 15, StartDate = "2021-05-08T03:00:00.000Z", EndDate = "2021-05-08T04:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-08T16:00:00.000Z", EndDate = "2021-05-08T17:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-08T18:00:00.000Z", EndDate = "2021-05-08T19:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-08T20:00:00.000Z", EndDate = "2021-05-08T21:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-05-08T22:30:00.000Z", EndDate = "2021-05-09T00:40:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-09T01:00:00.000Z", EndDate = "2021-05-09T02:27:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 15, StartDate = "2021-05-09T03:00:00.000Z", EndDate = "2021-05-09T04:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 2, Price = 5, StartDate = "2021-05-09T16:00:00.000Z", EndDate = "2021-05-09T17:33:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 5, StartDate = "2021-05-09T18:00:00.000Z", EndDate = "2021-05-09T19:32:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 3, Price = 10, StartDate = "2021-05-09T20:00:00.000Z", EndDate = "2021-05-09T21:51:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 5, Price = 10, StartDate = "2021-05-09T22:30:00.000Z", EndDate = "2021-05-10T00:40:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 6, Price = 15, StartDate = "2021-05-10T01:00:00.000Z", EndDate = "2021-05-10T02:27:00.000Z" }, new CinemaAppointment { TheatreId = 0, MovieId = 1, Price = 15, StartDate = "2021-05-10T03:00:00.000Z", EndDate = "2021-05-10T04:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-04-27T02:30:00.000Z", EndDate = "2021-04-26T18:21:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-04-26T19:00:00.000Z", EndDate = "2021-04-26T20:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 15, StartDate = "2021-04-26T21:00:00.000Z", EndDate = "2021-04-26T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 5, StartDate = "2021-04-26T23:10:00.000Z", EndDate = "2021-04-27T00:18:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 10, StartDate = "2021-04-27T00:30:00.000Z", EndDate = "2021-04-27T02:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 10, StartDate = "2021-04-26T16:30:00.000Z", EndDate = "2021-04-27T04:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 10, StartDate = "2021-04-27T04:20:00.000Z", EndDate = "2021-04-27T05:53:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-04-27T16:30:00.000Z", EndDate = "2021-04-27T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-04-27T18:30:00.000Z", EndDate = "2021-04-27T20:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-04-27T20:30:00.000Z", EndDate = "2021-04-27T22:40:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 5, StartDate = "2021-04-27T23:00:00.000Z", EndDate = "2021-04-28T00:08:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 10, StartDate = "2021-04-28T00:30:00.000Z", EndDate = "2021-04-28T02:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 15, StartDate = "2021-04-28T02:40:00.000Z", EndDate = "2021-04-28T04:13:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 5, StartDate = "2021-04-28T04:40:00.000Z", EndDate = "2021-04-28T05:48:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-04-28T16:30:00.000Z", EndDate = "2021-04-28T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-04-28T18:30:00.000Z", EndDate = "2021-04-28T20:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-04-28T20:30:00.000Z", EndDate = "2021-04-28T22:41:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-04-28T23:00:00.000Z", EndDate = "2021-04-29T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 10, StartDate = "2021-04-29T01:30:00.000Z", EndDate = "2021-04-29T02:38:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 20, StartDate = "2021-04-29T03:20:00.000Z", EndDate = "2021-04-29T05:30:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-04-29T16:30:00.000Z", EndDate = "2021-04-29T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-04-29T18:30:00.000Z", EndDate = "2021-04-29T20:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-04-29T20:30:00.000Z", EndDate = "2021-04-29T22:41:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-04-29T23:00:00.000Z", EndDate = "2021-04-30T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 5, StartDate = "2021-04-30T01:30:00.000Z", EndDate = "2021-04-30T02:38:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-04-30T03:20:00.000Z", EndDate = "2021-04-30T05:30:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-04-30T16:10:00.000Z", EndDate = "2021-04-30T17:43:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-04-30T18:00:00.000Z", EndDate = "2021-04-30T19:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 5, StartDate = "2021-04-30T20:10:00.000Z", EndDate = "2021-04-30T22:01:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-04-30T22:40:00.000Z", EndDate = "2021-05-01T00:50:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 5, StartDate = "2021-05-01T01:20:00.000Z", EndDate = "2021-05-01T02:28:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 15, StartDate = "2021-05-01T03:20:00.000Z", EndDate = "2021-05-01T05:11:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-01T17:00:00.000Z", EndDate = "2021-05-01T18:33:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 10, StartDate = "2021-05-01T19:00:00.000Z", EndDate = "2021-05-01T20:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-01T21:00:00.000Z", EndDate = "2021-05-01T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-05-01T23:30:00.000Z", EndDate = "2021-05-02T01:40:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 10, StartDate = "2021-05-02T02:00:00.000Z", EndDate = "2021-05-02T03:08:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 20, StartDate = "2021-05-02T03:30:00.000Z", EndDate = "2021-05-02T05:50:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-02T17:00:00.000Z", EndDate = "2021-05-02T18:33:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-02T19:00:00.000Z", EndDate = "2021-05-02T20:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-02T21:00:00.000Z", EndDate = "2021-05-02T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-05-02T23:30:00.000Z", EndDate = "2021-05-03T01:40:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 4, Price = 10, StartDate = "2021-05-03T02:00:00.000Z", EndDate = "2021-05-03T03:08:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-05-03T03:30:00.000Z", EndDate = "2021-05-03T05:50:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-03T17:00:00.000Z", EndDate = "2021-05-03T18:33:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-03T19:00:00.000Z", EndDate = "2021-05-03T20:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-03T21:00:00.000Z", EndDate = "2021-05-03T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 10, StartDate = "2021-05-03T23:30:00.000Z", EndDate = "2021-05-04T01:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-05-04T01:30:00.000Z", EndDate = "2021-05-04T03:40:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 20, StartDate = "2021-05-04T04:00:00.000Z", EndDate = "2021-05-04T05:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-04T16:30:00.000Z", EndDate = "2021-05-04T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 5, StartDate = "2021-05-04T19:00:00.000Z", EndDate = "2021-05-04T20:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-04T21:00:00.000Z", EndDate = "2021-05-04T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-04T23:30:00.000Z", EndDate = "2021-05-05T01:21:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-04T16:00:00.000Z", EndDate = "2021-05-05T03:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 15, StartDate = "2021-05-05T04:00:00.000Z", EndDate = "2021-05-05T05:33:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-05T17:00:00.000Z", EndDate = "2021-05-05T18:32:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 5, StartDate = "2021-05-05T19:00:00.000Z", EndDate = "2021-05-05T20:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-05T21:00:00.000Z", EndDate = "2021-05-05T22:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 10, StartDate = "2021-05-05T23:30:00.000Z", EndDate = "2021-05-06T01:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-05T16:00:00.000Z", EndDate = "2021-05-06T03:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 15, StartDate = "2021-05-05T18:00:00.000Z", EndDate = "2021-05-05T19:33:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-06T16:30:00.000Z", EndDate = "2021-05-06T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-06T18:30:00.000Z", EndDate = "2021-05-06T20:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 10, StartDate = "2021-05-06T21:00:00.000Z", EndDate = "2021-05-06T22:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-06T23:00:00.000Z", EndDate = "2021-05-07T00:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-07T01:10:00.000Z", EndDate = "2021-05-07T02:37:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 20, StartDate = "2021-05-07T03:30:00.000Z", EndDate = "2021-05-07T05:40:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-07T16:30:00.000Z", EndDate = "2021-05-07T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-07T18:30:00.000Z", EndDate = "2021-05-07T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 10, StartDate = "2021-05-07T21:00:00.000Z", EndDate = "2021-05-07T22:27:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-05-07T23:00:00.000Z", EndDate = "2021-05-08T00:51:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-08T01:10:00.000Z", EndDate = "2021-05-08T02:37:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 15, StartDate = "2021-05-08T03:20:00.000Z", EndDate = "2021-05-08T05:30:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-08T16:30:00.000Z", EndDate = "2021-05-08T18:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-08T18:30:00.000Z", EndDate = "2021-05-08T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-08T20:30:00.000Z", EndDate = "2021-05-08T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-05-08T23:00:00.000Z", EndDate = "2021-05-09T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-09T01:30:00.000Z", EndDate = "2021-05-09T02:57:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 15, StartDate = "2021-05-09T03:30:00.000Z", EndDate = "2021-05-09T05:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 2, Price = 5, StartDate = "2021-05-09T16:30:00.000Z", EndDate = "2021-05-09T18:03:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 5, StartDate = "2021-05-09T18:30:00.000Z", EndDate = "2021-05-09T20:02:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 3, Price = 10, StartDate = "2021-05-09T20:30:00.000Z", EndDate = "2021-05-09T22:21:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 5, Price = 10, StartDate = "2021-05-09T23:00:00.000Z", EndDate = "2021-05-10T01:10:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 6, Price = 15, StartDate = "2021-05-10T01:30:00.000Z", EndDate = "2021-05-10T02:57:00.000Z" }, new CinemaAppointment { TheatreId = 1, MovieId = 1, Price = 15, StartDate = "2021-05-10T03:30:00.000Z", EndDate = "2021-05-10T05:02:00.000Z" } }; } }
using System; namespace DevExtreme.NETCore.Demos.Models { public class CinemaAppointment : Appointment { public int TheatreId { get; set; } public int MovieId { get; set; } public int Price { get; set; } } }
namespace DevExtreme.NETCore.Demos.Models { public class Movie { public int ID { get; set; } public string Text { get; set; } public string Director { get; set; } public int Year { get; set; } public string Image { get; set; } public int Duration { get; set; } public string Color { get; set; } } }
using System.Collections.Generic; namespace DevExtreme.NETCore.Demos.Models.SampleData { public partial class SampleData { public static readonly IEnumerable<Movie> Movies = new[] { new Movie { ID = 1, Text = "His Girl Friday", Director = "Howard Hawks", Year = 1940, Image = "../../images/movies/HisGirlFriday.jpg", Duration = 92, Color = "#cb6bb2" }, new Movie { ID = 2, Text = "Royal Wedding", Director = "Stanley Donen", Year = 1951, Image = "../../images/movies/RoyalWedding.jpg", Duration = 93, Color = "#56ca85" }, new Movie { ID = 3, Text = "A Star Is Born", Director = "William A. Wellman", Year = 1937, Image = "../../images/movies/AStartIsBorn.jpg", Duration = 111, Color = "#1e90ff" }, new Movie { ID = 4, Text = "The Screaming Skull", Director = "Alex Nicol", Year = 1958, Image = "../../images/movies/ScreamingSkull.jpg", Duration = 68, Color = "#ff9747" }, new Movie { ID = 5, Text = "It's a Wonderful Life", Director = "Frank Capra", Year = 1946, Image = "../../images/movies/ItsAWonderfulLife.jpg", Duration = 130, Color = "#f05797" }, new Movie { ID = 6, Text = "City Lights", Director = "Charlie Chaplin", Year = 1931, Image = "../../images/movies/CityLights.jpg", Duration = 87, Color = "#2a9010" } }; } }
using DevExtreme.NETCore.Demos.Models; using System.Collections.Generic; namespace DevExtreme.NETCore.Demos.ViewModels { public class SchedulerViewModel { public IEnumerable<CinemaAppointment> CinemaData { get; set; } public IEnumerable<Movie> Movies { get; set; } public IEnumerable<Theatre> Theatres { get; set; } } }
namespace DevExtreme.NETCore.Demos.Models { public class Theatre { public int ID { get; set; } public string Text { get; set; } } }
using System.Collections.Generic; namespace DevExtreme.NETCore.Demos.Models.SampleData { public partial class SampleData { public static readonly IEnumerable<Theatre> Theatres = new[] { new Theatre { ID = 0, Text = "Cinema Hall 1" }, new Theatre { ID = 1, Text = "Cinema Hall 2" } }; } }
.dx-tooltip-wrapper .dx-overlay-content .dx-popup-content { padding: 14px; } .showtime-preview > div:first-child { font-size: 12px; white-space: normal; } .showtime-preview > div:not(:first-child) { font-size: 11px; white-space: normal; } .movie-tooltip .movie-info { display: inline-block; margin-left: 10px; vertical-align: top; text-align: left; } .movie-tooltip img { height: 80px; margin-bottom: 10px; } .movie-tooltip .movie-title { font-size: 1.5em; line-height: 40px; } .long-title h3 { font-family: 'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana; font-weight: 200; font-size: 28px; text-align: center; margin-bottom: 20px; }