All docs
V20.2
20.2
20.1
19.2
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.

DaysExceptionRule Class

Represents a rule that specifies an exception that reoccurs by days.

Namespace: DevExpress.XtraGantt.Exceptions

Assembly: DevExpress.XtraGantt.v20.2.dll

Declaration

public class DaysExceptionRule :
    ExceptionRule,
    INotifyCollectionChanged<ExceptionDay>
Public Class DaysExceptionRule
    Inherits ExceptionRule
    Implements INotifyCollectionChanged(Of ExceptionDay)

Examples

This code shows how to how to alternate two full work days and two short work days.

using DevExpress.XtraGantt.Exceptions;

DaysExceptionRule rule = new DaysExceptionRule() {
    StartDate = new DateTime(2019, 9, 12),
    Interval = 2
};
WorkTime morningWorkTime = new WorkTime(9, 12);
WorkTime afternoonWorkTime = new WorkTime(13, 18);
rule.Days.Add(new ExceptionDay(morningWorkTime));
rule.Days.Add(new ExceptionDay(afternoonWorkTime));

The code below shows how to specify custom exception rules.

using DevExpress.XtraGantt;
using DevExpress.XtraGantt.Base.Scheduling;
using DevExpress.XtraGantt.Exceptions;
using DevExpress.XtraGantt.Scheduling;

private ExceptionRule[] CreateCustomRules() {

    // The rule applies seven times starting from 8/19/2019 each day.
    DaysExceptionRule OneWeek = new DaysExceptionRule() {
        StartDate = new DateTime(2019, 8, 19),
        Occurrences = 7
    };

    // The rule applies to the first day of each month (January, 1; February, 1; etc.)
    MonthlyExceptionRule FirstDayInMonth = new MonthlyExceptionRule() {
        DayOfMonth = 1
    };

    // The rule applies to the second Friday of each month.
    MonthlyDayOfWeekExceptionRule SecondFridayInMonth = new MonthlyDayOfWeekExceptionRule() {
        DayOfWeek = DayOfWeek.Friday,
        WeekOfMonth = WeekOfMonth.Second
    };

    // The rule applies to 31st December 5 times 
    // each two years starting from 12/31/2019.
    YearlyExceptionRule December31 = new YearlyExceptionRule() {
        DayOfMonth = 31,
        Month = Month.December,
        StartDate = new DateTime(2019, 12, 31),
        Interval = 2,
        Occurrences = 5
    };

    //The rule applies to the 256th day each year.
    YearlyDayOfYearExceptionRule Day256 = new YearlyDayOfYearExceptionRule() {
        DayOfYear = 256,
    };
    // Specify work hours for the 256th day.
    Day256.WorkTimes.Add(new WorkTime(9, 12));

    return new ExceptionRule[] { SecondFridayInMonth, FirstDayInMonth, OneWeek, Day256, December31 };
}

Inheritance

See Also