blazor-devexpress-dot-blazor-dot-base-dot-dxschedulerdayviewbase-b8b99fb5.md
Specifies the template for resource header cells in the Scheduler.
Namespace : DevExpress.Blazor.Base
Assembly : DevExpress.Blazor.v25.2.dll
NuGet Package : DevExpress.Blazor
[Parameter]
public RenderFragment<SchedulerResourceHeaderCellInfo> ResourceHeaderCellTemplate { get; set; }
| Type | Description |
|---|---|
| RenderFragment<SchedulerResourceHeaderCellInfo> |
The resource header cell template.
|
This template accepts a SchedulerResourceHeaderCellInfo object as the context parameter. You can use the parameter’s Intervals property to get intervals to which the cell belongs. The parameter’s Resource property specifies the resource associated with the cell or contains an empty resource item if no resource is assigned.
The following example adds images to resource header cells:
<DxScheduler @bind-StartDate="@StartDate"
DataStorage="@DataStorage"
GroupType="@SchedulerGroupType.Resource"
ResourceColorInHeaderVisible="false"
HtmlCellDecoration="OnHtmlCellDecoration"
CssClass="demo-sc-size">
<Views>
<DxSchedulerDayView DayCount="2" ShowWorkTimeOnly="true" CellMinWidth="120">
<ResourceHeaderCellTemplate>
<div class="d-flex align-items-center flex-row scheduler-resource-container">
<div>@context.Resource.Caption</div>
</div>
</ResourceHeaderCellTemplate>
</DxSchedulerDayView>
</Views>
</DxScheduler>
</DemoChildContent>
@code {
DateTime StartDate { get; set; } = DateTime.Today;
DxSchedulerDataStorage DataStorage = new DxSchedulerDataStorage() {
AppointmentsSource = ResourceAppointmentCollection.GetAppointments(),
AppointmentMappings = new DxSchedulerAppointmentMappings() {
Type = "AppointmentType",
Start = "StartDate",
End = "EndDate",
Subject = "Caption",
AllDay = "AllDay",
Location = "Location",
Description = "Description",
LabelId = "Label",
StatusId = "Status",
RecurrenceInfo = "Recurrence",
ResourceId = "ResourceId"
},
ResourcesSource = ResourceCollection.GetResourcesForGrouping(),
ResourceMappings = new DxSchedulerResourceMappings() {
Id = "Id",
Caption = "Name",
BackgroundCssClass = "BackgroundCss",
TextCssClass = "TextCss",
CustomFieldMappings = new List<DxSchedulerCustomFieldMapping> {
new DxSchedulerCustomFieldMapping{ Name = "EmployeeId", Mapping = "Id" }
}
}
};
void OnHtmlCellDecoration(SchedulerHtmlCellDecorationEventArgs args) {
if(args.CellType == SchedulerCellType.ResourceHeader) {
args.CssClass = "card-header";
args.Style = "padding: 0.4725rem;";
}
}
}
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; }
}
}
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;
}
}
}
Run Demo: Scheduler - Resource Header Template
See Also