Your search did not match any results.
Scheduler

Timelines

Documentation
This demo illustrates the collection of timeline views available in the Scheduler widget. Appointments are associated with several resources (an appointment color depends on the associated resource) and grouped by one of them.
@model IList<DevExtreme.MVC.Demos.Models.Task> @(Html.DevExtreme().Scheduler() .DataSource(Model) .TextExpr("Subject") .StartDateExpr("StartDate") .EndDateExpr("DueDate") .Views(new SchedulerViewType[] { SchedulerViewType.TimelineDay, SchedulerViewType.TimelineWeek, SchedulerViewType.TimelineWorkWeek, SchedulerViewType.TimelineMonth }) .CurrentView(SchedulerViewType.TimelineMonth) .CurrentDate(new DateTime(2016, 2, 1)) .FirstDayOfWeek(FirstDayOfWeek.Sunday) .StartDayHour(8) .EndDayHour(20) .CellDuration(60) .Groups(new string[] { "Priority" }) .Resources(res => { res.Add() .FieldExpr("OwnerId") .AllowMultiple(true) .Label("Owner") .UseColorAsDefault(true) .DataSource(new object[] { new { id = 1, text = "Samantha Bright", color = "#cb6bb2" }, new { id = 2, text = "John Heart", color = "#56ca85" }, new { id = 3, text = "Todd Hoffman", color = "#1e90ff" }, new { id = 4, text = "Sandra Johnson", color = "#ff9747" } }); res.Add() .FieldExpr("Priority") .AllowMultiple(false) .Label("Priority") .DataSource(new object[] { new { id = "Low", text = "Low Priority", color = "#1e90ff" }, new { id = "High", text = "High Priority", color = "#ff9747" } }); }) .Width("100%") .Height(580) )
using DevExtreme.MVC.Demos.Models.SampleData; using DevExtreme.MVC.Demos.ViewModels; using System.Web.Mvc; namespace DevExtreme.MVC.Demos.Controllers { public class SchedulerController : Controller { public ActionResult Timelines() { return View(SampleData.TimelineTasks); } } }
using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; namespace DevExtreme.MVC.Demos.Models { [JsonConverter(typeof(StringEnumConverter))] public enum Priority { High, Normal, Low, Urgent } public class Task { public int ID { set; get; } public string Subject { set; get; } public DateTime StartDate { set; get; } public DateTime DueDate { set; get; } public string Status { set; get; } public Priority Priority { set; get; } public int Completion { set; get; } public int[] OwnerId { get; set; } } }
using System; using System.Collections.Generic; namespace DevExtreme.MVC.Demos.Models.SampleData { public partial class SampleData { public static List<Task> TimelineTasks { get { return new List<Task> { new Task { Subject = "Google AdWords Strategy", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 1, 9, 0, 0), DueDate = new DateTime(2016, 2, 1, 10, 30, 0), Priority = Priority.Low }, new Task { Subject = "New Brochures", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 1, 11, 30, 0), DueDate = new DateTime(2016, 2, 1, 14, 15, 0), Priority = Priority.High }, new Task { Subject = "Brochure Design Review", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 1, 13, 15, 0), DueDate = new DateTime(2016, 2, 1, 16, 15, 0), Priority = Priority.Low }, new Task { Subject = "Website Re-Design Plan", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 1, 16, 45, 0), DueDate = new DateTime(2016, 2, 2, 11, 15, 0), Priority = Priority.High }, new Task { Subject = "Rollout of New Website and Marketing Brochures", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 2, 8, 15, 0), DueDate = new DateTime(2016, 2, 2, 10, 45, 0), Priority = Priority.High }, new Task { Subject = "Update Sales Strategy Documents", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 2, 12, 0, 0), DueDate = new DateTime(2016, 2, 2, 13, 45, 0), Priority = Priority.Low }, new Task { Subject = "Non-Compete Agreements", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 3, 8, 15, 0), DueDate = new DateTime(2016, 2, 3, 9, 0, 0), Priority = Priority.Low }, new Task { Subject = "Approve Hiring of John Jeffers", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 3, 10, 0, 0), DueDate = new DateTime(2016, 2, 3, 11, 15, 0), Priority = Priority.High }, new Task { Subject = "Update NDA Agreement", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 3, 11, 45, 0), DueDate = new DateTime(2016, 2, 3, 13, 45, 0), Priority = Priority.High }, new Task { Subject = "Update Employee Files with New NDA", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 3, 14, 0, 0), DueDate = new DateTime(2016, 2, 3, 16, 45, 0), Priority = Priority.Low }, new Task { Subject = "Submit Questions Regarding New NDA", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 4, 8, 0, 0), DueDate = new DateTime(2016, 2, 4, 9, 30, 0), Priority = Priority.Low }, new Task { Subject = "Submit Signed NDA", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 4, 12, 45, 0), DueDate = new DateTime(2016, 2, 4, 14, 0, 0), Priority = Priority.Low }, new Task { Subject = "Review Revenue Projections", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 4, 17, 15, 0), DueDate = new DateTime(2016, 2, 4, 18, 0, 0), Priority = Priority.High }, new Task { Subject = "Comment on Revenue Projections", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 5, 9, 15, 0), DueDate = new DateTime(2016, 2, 5, 11, 15, 0), Priority = Priority.Low }, new Task { Subject = "Provide New Health Insurance Docs", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 5, 12, 45, 0), DueDate = new DateTime(2016, 2, 5, 14, 15, 0), Priority = Priority.High }, new Task { Subject = "Review Changes to Health Insurance Coverage", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 5, 14, 15, 0), DueDate = new DateTime(2016, 2, 5, 15, 30, 0), Priority = Priority.Low }, new Task { Subject = "Review Training Course for any Ommissions", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 8, 14, 0, 0), DueDate = new DateTime(2016, 2, 9, 12, 0, 0), Priority = Priority.High }, new Task { Subject = "Recall Rebate Form", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 8, 12, 45, 0), DueDate = new DateTime(2016, 2, 8, 13, 15, 0), Priority = Priority.Low }, new Task { Subject = "Create Report on Customer Feedback", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 9, 15, 15, 0), DueDate = new DateTime(2016, 2, 9, 17, 30, 0), Priority = Priority.High }, new Task { Subject = "Review Customer Feedback Report", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 9, 16, 15, 0), DueDate = new DateTime(2016, 2, 9, 18, 30, 0), Priority = Priority.Low }, new Task { Subject = "Customer Feedback Report Analysis", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 10, 9, 30, 0), DueDate = new DateTime(2016, 2, 10, 10, 30, 0), Priority = Priority.Low }, new Task { Subject = "Prepare Shipping Cost Analysis Report", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 10, 12, 30, 0), DueDate = new DateTime(2016, 2, 10, 13, 30, 0), Priority = Priority.Low }, new Task { Subject = "Provide Feedback on Shippers", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 10, 14, 15, 0), DueDate = new DateTime(2016, 2, 10, 16, 0, 0), Priority = Priority.High }, new Task { Subject = "Select Preferred Shipper", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 10, 17, 30, 0), DueDate = new DateTime(2016, 2, 10, 20, 0, 0), Priority = Priority.Low }, new Task { Subject = "Complete Shipper Selection Form", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 11, 8, 30, 0), DueDate = new DateTime(2016, 2, 11, 10, 0, 0), Priority = Priority.High }, new Task { Subject = "Upgrade Server Hardware", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 11, 12, 0, 0), DueDate = new DateTime(2016, 2, 11, 14, 15, 0), Priority = Priority.Low }, new Task { Subject = "Upgrade Personal Computers", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 11, 14, 45, 0), DueDate = new DateTime(2016, 2, 11, 16, 30, 0), Priority = Priority.Low }, new Task { Subject = "Upgrade Apps to Windows RT or stay with WinForms", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 12, 10, 30, 0), DueDate = new DateTime(2016, 2, 12, 13, 0, 0), Priority = Priority.Low }, new Task { Subject = "Estimate Time Required to Touch-Enable Apps", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 12, 14, 45, 0), DueDate = new DateTime(2016, 2, 12, 16, 30, 0), Priority = Priority.Low }, new Task { Subject = "Report on Tranistion to Touch-Based Apps", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 12, 18, 30, 0), DueDate = new DateTime(2016, 2, 12, 19, 0, 0), Priority = Priority.Low }, new Task { Subject = "Submit New Website Design", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 15, 8, 0, 0), DueDate = new DateTime(2016, 2, 15, 10, 0, 0), Priority = Priority.High }, new Task { Subject = "Create Icons for Website", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 15, 11, 30, 0), DueDate = new DateTime(2016, 2, 15, 13, 15, 0), Priority = Priority.Low }, new Task { Subject = "Create New Product Pages", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 16, 9, 45, 0), DueDate = new DateTime(2016, 2, 16, 11, 45, 0), Priority = Priority.High }, new Task { Subject = "Approve Website Launch", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 16, 12, 0, 0), DueDate = new DateTime(2016, 2, 16, 15, 15, 0), Priority = Priority.Low }, new Task { Subject = "Update Customer Shipping Profiles", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 17, 9, 30, 0), DueDate = new DateTime(2016, 2, 17, 11, 0, 0), Priority = Priority.Low }, new Task { Subject = "Create New Shipping Return Labels", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 17, 12, 45, 0), DueDate = new DateTime(2016, 2, 17, 14, 0, 0), Priority = Priority.Low }, new Task { Subject = "Get Design for Shipping Return Labels", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 17, 15, 0, 0), DueDate = new DateTime(2016, 2, 17, 16, 30, 0), Priority = Priority.Low }, new Task { Subject = "PSD needed for Shipping Return Labels", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 18, 8, 30, 0), DueDate = new DateTime(2016, 2, 18, 9, 15, 0), Priority = Priority.High }, new Task { Subject = "Contact ISP and Discuss Payment Options", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 18, 11, 30, 0), DueDate = new DateTime(2016, 2, 18, 16, 0, 0), Priority = Priority.High }, new Task { Subject = "Prepare Year-End Support Summary Report", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 18, 17, 0, 0), DueDate = new DateTime(2016, 2, 18, 20, 0, 0), Priority = Priority.Low }, new Task { Subject = "Review New Training Material", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 19, 8, 0, 0), DueDate = new DateTime(2016, 2, 19, 9, 15, 0), Priority = Priority.High }, new Task { Subject = "Distribute Training Material to Support Staff", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 19, 12, 45, 0), DueDate = new DateTime(2016, 2, 19, 14, 0, 0), Priority = Priority.Low }, new Task { Subject = "Training Material Distribution Schedule", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 19, 14, 15, 0), DueDate = new DateTime(2016, 2, 19, 16, 15, 0), Priority = Priority.Low }, new Task { Subject = "Approval on Converting to New HDMI Specification", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 22, 9, 30, 0), DueDate = new DateTime(2016, 2, 22, 10, 15, 0), Priority = Priority.High }, new Task { Subject = "Create New Spike for Automation Server", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 22, 10, 0, 0), DueDate = new DateTime(2016, 2, 22, 12, 30, 0), Priority = Priority.High }, new Task { Subject = "Code Review - New Automation Server", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 22, 13, 0, 0), DueDate = new DateTime(2016, 2, 22, 15, 0, 0), Priority = Priority.Low }, new Task { Subject = "Confirm Availability for Sales Meeting", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 23, 10, 15, 0), DueDate = new DateTime(2016, 2, 23, 15, 15, 0), Priority = Priority.High }, new Task { Subject = "Reschedule Sales Team Meeting", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 23, 16, 15, 0), DueDate = new DateTime(2016, 2, 23, 18, 0, 0), Priority = Priority.High }, new Task { Subject = "Send 2 Remotes for Giveaways", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 24, 9, 30, 0), DueDate = new DateTime(2016, 2, 24, 11, 45, 0), Priority = Priority.Low }, new Task { Subject = "Discuss Product Giveaways with Management", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 24, 12, 15, 0), DueDate = new DateTime(2016, 2, 24, 16, 45, 0), Priority = Priority.High }, new Task { Subject = "Replace Desktops on the 3rd Floor", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 25, 9, 30, 0), DueDate = new DateTime(2016, 2, 25, 10, 45, 0), Priority = Priority.Low }, new Task { Subject = "Update Database with New Leads", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 25, 12, 0, 0), DueDate = new DateTime(2016, 2, 25, 14, 15, 0), Priority = Priority.High }, new Task { Subject = "Mail New Leads for Follow Up", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 25, 14, 45, 0), DueDate = new DateTime(2016, 2, 25, 15, 30, 0), Priority = Priority.High }, new Task { Subject = "Send Territory Sales Breakdown", OwnerId = new int[] { 2 }, StartDate = new DateTime(2016, 2, 25, 18, 0, 0), DueDate = new DateTime(2016, 2, 25, 20, 0, 0), Priority = Priority.Low }, new Task { Subject = "Territory Sales Breakdown Report", OwnerId = new int[] { 1 }, StartDate = new DateTime(2016, 2, 26, 8, 45, 0), DueDate = new DateTime(2016, 2, 26, 9, 45, 0), Priority = Priority.Low }, new Task { Subject = "Report on the State of Engineering Dept", OwnerId = new int[] { 3 }, StartDate = new DateTime(2016, 2, 26, 14, 45, 0), DueDate = new DateTime(2016, 2, 26, 15, 30, 0), Priority = Priority.High }, new Task { Subject = "Staff Productivity Report", OwnerId = new int[] { 4 }, StartDate = new DateTime(2016, 2, 26, 16, 15, 0), DueDate = new DateTime(2016, 2, 26, 19, 30, 0), Priority = Priority.High } }; } } } }