DateTimeScaleOptions.WorkdaysOptions Property
Provides access to the information about non-working days to adjust the date-time axis scale.
Namespace: DevExpress.XtraCharts
Assembly: DevExpress.XtraCharts.v20.1.dll
NuGet Packages: DevExpress.Charts, DevExpress.WindowsDesktop.Charts
Declaration
[XtraChartsLocalizableCategory(XtraChartsCategory.Behavior)]
[PersistenceMode(PersistenceMode.InnerProperty)]
public WorkdaysOptions WorkdaysOptions { get; }
Property Value
Type | Description |
---|---|
WorkdaysOptions | A WorkdaysOptions object that contains the information about non-working days. |
Property Paths
You can access this nested property as listed below:
Remarks
The WorkdaysOptions property becomes available after the DateTimeScaleOptions.WorkdaysOnly property is enabled.
Use the WorkdaysOptions property to specify non-working days, holidays and strict workdays for the date-time 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, via the AxisBase.WorkdaysOnly and AxisBase.WorkdaysOptions properties.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-exclude-weekends-and-holidays-from-the-axis-range-e2365
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
AxisX axisX = ((XYDiagram)chartControl1.Diagram).AxisX;
// Exclude holidays from the axis scale.
axisX.WorkdaysOnly = true;
// Specify custom working days.
axisX.WorkdaysOptions.Workdays = Weekday.Sunday | Weekday.Monday | Weekday.Tuesday |
Weekday.Wednesday | Weekday.Thursday | Weekday.Friday;
// Specify holidays
axisX.WorkdaysOptions.Holidays.AddRange(new KnownDate[] {
new KnownDate("Custom Holiday 1", new DateTime(1994, 3, 2, 0, 0, 0, 0)),
new KnownDate("Custom Holiday 2", new DateTime(1994, 4, 2, 0, 0, 0, 0))});
// Specify strict working days.
// Thay will have a priority over the holidays specified.
axisX.WorkdaysOptions.ExactWorkdays.Add(
new KnownDate("Community Work Day", new DateTime(1994, 3, 2, 0, 0, 0, 0)));