Skip to main content

WorkdaysOptions.Holidays Property

Specifies holidays for excluding them from the date-time axis scale.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v24.2.dll

NuGet Package: DevExpress.Charts

#Declaration

[PersistenceMode(PersistenceMode.InnerProperty)]
public KnownDateCollection Holidays { get; }

#Property Value

Type Description
KnownDateCollection

A KnownDateCollection object, that stores the information about holidays.

#Property Paths

You can access this nested property as listed below:

Object Type Path to Holidays
DateTimeScaleOptions
.WorkdaysOptions .Holidays

#Remarks

Use the Holidays property, to manually populate the collection of holidays.

Alternatively, you can import holidays in the DevExpress Scheduler (.xml) or Microsoft Office Outlook® (.hol) formats from a file, via the WorkdaysOptions.LoadHolidays method.

Note

If a date is defined as both a holiday (via the Holidays property) and strict workday (via the WorkdaysOptions.ExactWorkdays property), it is considered working day, and, consequently, it is not excluded from the axis scale.

For more information, refer to Data Aggregation.

#Example

This example demonstates how to exclude non-working days (weekdays and holidays) from an axis range, with the DateTimeScaleOptions.WorkdaysOnly and DateTimeScaleOptions.WorkdaysOptions properties.

using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
DateTimeScaleOptions dateTimeScaleOptions = ((XYDiagram)chartControl1.Diagram).AxisX.DateTimeScaleOptions;

// Enables workday options.
dateTimeScaleOptions.WorkdaysOnly = true;

// Specifies custom work days.
// In this example, Sunday is a work day and Saturday is a day off.
dateTimeScaleOptions.WorkdaysOptions.Workdays = Weekday.Sunday | Weekday.Monday | Weekday.Tuesday |
    Weekday.Wednesday | Weekday.Thursday | Weekday.Friday;

// Specifies custom holidays.
// In this example, March 8th (Monday) is an additional holiday.
dateTimeScaleOptions.WorkdaysOptions.Holidays.Add(
    new KnownDate("Custom Holiday", new DateTime(2021, 3, 8, 0, 0, 0, 0)));

// Specifies work days, which have priority over specified holidays.
// In this example, March 6th (Saturday) is an additional work day.
dateTimeScaleOptions.WorkdaysOptions.ExactWorkdays.Add(
    new KnownDate("Community Work Day", new DateTime(2021, 3, 6, 0, 0, 0, 0)));
See Also