blazor-devexpress-dot-blazor-dot-dxdateedit-1-de3ac743.md
Specifies the template used to display day cells.
Namespace : DevExpress.Blazor
Assembly : DevExpress.Blazor.v25.2.dll
NuGet Package : DevExpress.Blazor
[Parameter]
public RenderFragment<DateTime> DayCellTemplate { get; set; }
| Type | Description |
|---|---|
| RenderFragment<DateTime> |
The template content.
|
The DayCellTemplate property allows you to customize content and styles of cells in the Date Edit’s calendar. Use the template’s context parameter to access the current date-time object and its settings.
The following code snippet applies different styles to different dates.
<DxDateEdit @bind-Date="@DateTimeValue"
SizeMode="Params.SizeMode"
CssClass="cw-320"
InputId="deHighlightDates">
<DayCellTemplate>
<a class="@GetCssClassNames(context)">@context.Day.ToString()</a>
</DayCellTemplate>
</DxDateEdit>
@* ... *@
@code {
DateTime DateTimeValue { get; set; } = DateTime.Today;
CalendarData Data { get; set; } = new CalendarData();
string GetCssClassNames(DateTime date) {
if(Data.PersonalDays.Exists(d => DaysEqual(d, date)))
return "fw-bold text-success";
if(Data.Holidays.Exists(d => DaysEqual(d, date)))
return "text-danger";
if(Data.BirthDates.Exists(d => DaysEqual(d, date)))
return "fw-bold text-info";
return null;
}
bool DaysEqual(DateTime date1, DateTime date2) {
return (date1.Year == date2.Year && date1.DayOfYear == date2.DayOfYear);
}
}
using System;
using System.Collections.Generic;
namespace BlazorDemo.Data {
class CalendarData {
public CalendarData() {
DateTime baseDate = DateTime.Today;
PersonalDays = GetPersonalDays(baseDate);
Holidays = GetHolidays(baseDate);
BirthDates = GetBirthDates(baseDate);
}
public List<DateTime> PersonalDays { get; }
public List<DateTime> Holidays { get; }
public List<DateTime> BirthDates { get; }
List<DateTime> GetPersonalDays(DateTime baseDate) {
return new List<DateTime>() {
baseDate.AddDays(-7),
baseDate.AddDays(-2),
baseDate.AddDays(-1),
baseDate.AddDays(3),
baseDate.AddDays(4),
baseDate.AddDays(9),
baseDate.AddDays(10),
baseDate.AddDays(12),
baseDate.AddDays(15)
};
}
List<DateTime> GetHolidays(DateTime baseDate) {
return new List<DateTime>() {
baseDate.AddDays(-14),
baseDate.AddDays(-8),
baseDate.AddDays(12),
baseDate.AddDays(13)
};
}
List<DateTime> GetBirthDates(DateTime baseDate) {
return new List<DateTime>() {
baseDate.AddDays(-20),
baseDate.AddDays(-5),
baseDate,
baseDate.AddDays(1),
baseDate.AddDays(6),
baseDate.AddDays(7),
baseDate.AddDays(17)
};
}
}
}
.dxbl-calendar-selected-item > a {
color: #fff !important;
}
.dxbl-calendar-day > a {
text-decoration: none;
}
Run Demo: Date Edit - Highlight Special Dates
See Also