ExceptionDay Class
Represents a day with a schedule that is an exception to the regular workweek.
Namespace: DevExpress.XtraGantt.Exceptions
Assembly: DevExpress.XtraGantt.v24.2.dll
Declaration
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() {
DailyExceptionRule dailyException = new DailyExceptionRule() {
StartDate = new DateTime(2019, 8, 19),
Occurrences = 7
};
dailyException.WorkTimes.Add(new WorkTime(9, 12));
DaysExceptionRule daysException = new DaysExceptionRule() {
StartDate = new System.DateTime(2023, 9, 27, 0, 0, 0, 0),
Occurrences = 1
};
// The rule applies to the first day of each month (January, 1; February, 1; etc.)
MonthlyExceptionRule FirstDayInMonth = new MonthlyExceptionRule() {
DayOfMonth = 1
};
FirstDayInMonth.Add(new WorkTime(10, 12));
// The rule applies to the second Friday of each month.
MonthlyDayOfWeekExceptionRule SecondFridayInMonth = new MonthlyDayOfWeekExceptionRule() {
DayOfWeek = DayOfWeek.Friday,
WeekOfMonth = WeekOfMonth.Second
};
SecondFridayInMonth.Add(new WorkTime(9, 12));
// 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
};
December31.Add(new WorkTime(9, 11));
//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, dailyException, daysException, Day256, December31 };
}
ganttControl1.Exceptions.AddRange(CreateCustomRules());
Inheritance
Object
ScheduleDay
ExceptionDay
See Also