Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

DxSchedulerDayViewBase.ResourceHeaderCellTemplate Property

Specifies the template for resource header cells in the Scheduler.

Namespace: DevExpress.Blazor.Base

Assembly: DevExpress.Blazor.v24.2.dll

NuGet Package: DevExpress.Blazor

#Declaration

C#
[Parameter]
public RenderFragment<SchedulerResourceHeaderCellInfo> ResourceHeaderCellTemplate { get; set; }

#Property Value

Type Description
RenderFragment<SchedulerResourceHeaderCellInfo>

The resource header cell template.

#Remarks

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="" style="display: flex; flex-direction: row; align-items: center;">
                        <img class="card" src="@(StaticAssetUtils.GetImagePath(context.Resource.CustomFields["ImageFileName"].ToString()))"
                             alt=""
                             style="object-fit: cover; height: 80px; width: 80px; object-position: 0px 0px; border-radius: 50%;" />
                        <div style="padding: 0.4725rem;">@context.Resource.Caption</div>
                    </div>
                </ResourceHeaderCellTemplate>
            </DxSchedulerDayView>
        </Views>
    </DxScheduler>

@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 = "ImageFileName", Mapping = "ImageFileName" }
            }
        }
    };

    void OnHtmlCellDecoration(SchedulerHtmlCellDecorationEventArgs args) {
        if(args.CellType == SchedulerCellType.ResourceHeader) {
            args.CssClass = "card-header";
            args.Style = "padding: 0.4725rem;";
        }
    }

Scheduler - Resource Header Template

Run Demo: Scheduler - Resource Header Template

See Also