Back to Devexpress

SchedulerTimelineHeaderCellInfo Class

blazor-devexpress-dot-blazor-c28da66f.md

latest9.0 KB
Original Source

SchedulerTimelineHeaderCellInfo Class

Stores information about a header cell in the Scheduler.

Namespace : DevExpress.Blazor

Assembly : DevExpress.Blazor.v25.2.dll

NuGet Package : DevExpress.Blazor

Declaration

csharp
public class SchedulerTimelineHeaderCellInfo

Remarks

A SchedulerTimelineHeaderCellInfo object is passed as the context parameter to header templates. Use the Interval property to get the interval the header cell belongs to. The Scale property returns the timescale that includes the header cell.

The following example adds two timescales to the Scheduler. The scales are measured in months and days, respectively. The DateHeaderCellTemplate adds the month name and dates to the corresponding scale’s header cells.

razor
@inject WeatherForecastService ForecastService

<DxScheduler StartDate="@DateTime.Today" DataStorage="@DataStorage">
    <Views>
        <DxSchedulerTimelineView Duration="@(TimeSpan.FromHours(36))" CellMinWidth="100">
            <Scales>
                <DxSchedulerTimeScale Unit="@SchedulerTimeScaleUnit.Month" UnitCount="1" />
                <DxSchedulerTimeScale Unit="@SchedulerTimeScaleUnit.Day" UnitCount="1" />
            </Scales>
            <DateHeaderCellTemplate>
                <div class="my-cell">
                    <span>@(context.Scale.Unit == SchedulerTimeScaleUnit.Month ? context.Interval.Start.ToString("MMMM") : context.Interval.Start.Day)</span>
                </div>
            </DateHeaderCellTemplate>
        </DxSchedulerTimelineView>
    </Views>
</DxScheduler>

@code {
    DxSchedulerDataStorage DataStorage = new DxSchedulerDataStorage() {
        AppointmentsSource = AppointmentCollection.GetAppointments(),
        AppointmentMappings = new DxSchedulerAppointmentMappings() {
            Type = "AppointmentType",
            Start = "StartDate",
            End = "EndDate",
            Subject = "Caption",
            AllDay = "AllDay",
            Location = "Location",
            Description = "Description",
            LabelId = "Label",
            StatusId = "Status",
            RecurrenceInfo = "Recurrence"
        }
    };
}
csharp
using System;

namespace BlazorDemo.Data {
    public class Appointment {
        public Appointment() { }

        public int AppointmentType { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime EndDate { get; set; }
        public string Caption { get; set; }
        public string Description { get; set; }
        public string Location { get; set; }
        public int? Label { get; set; }
        public int Status { get; set; }
        public bool AllDay { get; set; }
        public string Recurrence { get; set; }
        public int? ResourceId { get; set; }
        public string Resources { get; set; }
        public bool Accepted { get; set; }
    }
}
csharp
using System;
using System.Collections.Generic;

namespace BlazorDemo.Data {

    public static partial class AppointmentCollection {
        public static List<Appointment> GetAppointments() {
            DateTime date = DateTimeUtils.GetWeekStart(DateTime.Now);
            var dataSource = new List<Appointment>() {
                new Appointment {
                    Caption = "Install New Router in Dev Room",
                    StartDate = date + (new TimeSpan(0, 10, 0, 0)),
                    EndDate = date + (new TimeSpan(0, 12, 30, 0)),
                    Label = 6,
                    Status = 4
                },
                new Appointment {
                    Caption = "Upgrade Personal Computers",
                    StartDate = date + (new TimeSpan(0, 13, 0, 0)),
                    EndDate = date + (new TimeSpan(0, 15, 30, 0)),
                    Label = 1,
                    Status = 4
                },
                new Appointment {
                    Caption = "Website Redesign Plan",
                    StartDate = date + (new TimeSpan(1, 9, 30, 0)),
                    EndDate = date + (new TimeSpan(1, 12, 0, 0)),
                    Label = 1,
                    Status = 1,
                    Accepted = true
                },
                new Appointment {
                    Caption = "New Brochures",
                    StartDate = date + (new TimeSpan(1, 13, 30, 0)),
                    EndDate = date + (new TimeSpan(1, 15, 15, 0)),
                    Label = 8,
                    Status = 2,
                    Accepted = true
                },
                new Appointment {
                    Caption = "Book Flights to San Fran for Sales Trip",
                    StartDate = date + (new TimeSpan(1, 12, 0, 0)),
                    EndDate = date + (new TimeSpan(1, 13, 0, 0)),
                    AllDay = true,
                    Label = 8,
                    Status = 1
                },
                new Appointment {
                    Caption = "Approve Personal Computer Upgrade Plan",
                    StartDate = date + (new TimeSpan(2, 10, 0, 0)),
                    EndDate = date + (new TimeSpan(2, 13, 0, 0)),
                    Label = 8,
                    Status = 2
                },
                new Appointment {
                    Caption = "Final Budget Review",
                    StartDate = date + (new TimeSpan(2, 14, 0, 0)),
                    EndDate = date + (new TimeSpan(2, 16, 30, 0)),
                    Label = 1,
                    Status = 1
                },
                new Appointment {
                    Caption = "Install New Database",
                    StartDate = date + (new TimeSpan(3, 9, 45, 0)),
                    EndDate = date + (new TimeSpan(3, 11, 45, 0)),
                    Label = 6,
                    Status = 4,
                    Accepted = true
                },
                new Appointment {
                    Caption = "Approve New Online Marketing Strategy",
                    StartDate = date + (new TimeSpan(3, 12, 30, 0)),
                    EndDate = date + (new TimeSpan(3, 15, 30, 0)),
                    Label = 1,
                    Status = 1,
                    Accepted = true
                },
                new Appointment {
                    Caption = "Customer Workshop",
                    StartDate = date + (new TimeSpan(4, 11, 0, 0)),
                    EndDate = date + (new TimeSpan(4, 12, 0, 0)),
                    AllDay = true,
                    Label = 8,
                    Status = 1
                },
                new Appointment {
                    Caption = "Prepare 2021 Marketing Plan",
                    StartDate = date + (new TimeSpan(4, 10, 30, 0)),
                    EndDate = date + (new TimeSpan(4, 13, 0, 0)),
                    Label = 1,
                    Status = 1,
                    Accepted = true
                },
                new Appointment {
                    Caption = "Brochure Design Review",
                    StartDate = date + (new TimeSpan(4, 14, 0, 0)),
                    EndDate = date + (new TimeSpan(4, 16, 30, 0)),
                    Label = 1,
                    Status = 2,
                    Accepted = true
                },
                new Appointment {
                    Caption = "Create Icons for Website",
                    StartDate = date + (new TimeSpan(5, 10, 0, 0)),
                    EndDate = date + (new TimeSpan(5, 12, 30, 0)),
                    Label = 1,
                    Status = 1
                },
                new Appointment {
                    Caption = "Launch New Website",
                    StartDate = date + (new TimeSpan(5, 13, 20, 0)),
                    EndDate = date + (new TimeSpan(5, 16, 0, 0)),
                    Label = 8,
                    Status = 1
                },
                new Appointment {
                    Caption = "Upgrade Server Hardware",
                    StartDate = date + (new TimeSpan(6, 11, 0, 0)),
                    EndDate = date + (new TimeSpan(6, 13, 30, 0)),
                    Label = 8,
                    Status = 1
                }
            };
            return dataSource;
        }
    }
}
css
.my-cell {
    width: 100%;
}

Inheritance

Object SchedulerTimelineHeaderCellInfo

See Also

SchedulerTimelineHeaderCellInfo Members

DevExpress.Blazor Namespace