corelibraries-devexpress-dot-xtracharts-dot-workdaysoptions-79ff9a6d.md
Specifies strict workdays that don’t depend on the WorkdaysOptions.Holidays and WorkdaysOptions.Workdays properties settings.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
[PersistenceMode(PersistenceMode.InnerProperty)]
public KnownDateCollection ExactWorkdays { get; }
<PersistenceMode(PersistenceMode.InnerProperty)>
Public ReadOnly Property ExactWorkdays As KnownDateCollection
| Type | Description |
|---|---|
| KnownDateCollection |
A KnownDateCollection object, that stores the information about strict workdays.
|
You can access this nested property as listed below:
| Object Type | Path to ExactWorkdays |
|---|---|
| DateTimeScaleOptions |
.WorkdaysOptions .ExactWorkdays
|
Apart from specifying the workdays within the week (via the WorkdaysOptions.Workdays property), you can define strict workdays (which have priority over the WorkdaysOptions.Holidays property setting), via the ExactWorkdays property.
For more information, refer to Data Aggregation.
This example demonstates how to exclude non-working days (weekdays and holidays) from an axis range, with the DateTimeScaleOptions.WorkdaysOnly and DateTimeScaleOptions.WorkdaysOptions properties.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/winforms-chart-exclude-weekends-and-holidays-from-the-axis-range
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)));
Imports System
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...
Dim dateTimeScaleOptions As DateTimeScaleOptions = CType(chartControl1.Diagram, XYDiagram).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 Or Weekday.Monday Or Weekday.Tuesday Or Weekday.Wednesday Or Weekday.Thursday Or Weekday.Friday
' Specifies custom holidays.
' In this example, March 8th (Monday) is an additional holiday.
dateTimeScaleOptions.WorkdaysOptions.Holidays.Add(New KnownDate("Custom Holiday", New Date(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 Date(2021, 3, 6, 0, 0, 0, 0)))
See Also