祝日を休日にしたり、特定の日付を稼働/非稼働にしたり、一般的によくある企業独自のカレンダーに基づく設定をUltraGanttViewに対して行いたい場合は、
- CalendarDateSettingsインスタンスをターゲットの日付で作成し、
- そのIsWorkDayプロパティをtrue/falseで設定し、
- UltraCalendarInfo.DateSettingsコレクションに1で作成したCalendarDateSettingsオブジェクトを追加してください。
例えば、2022年のゴールデンウィーク期間中(4月29日(金)~5月8日(日))をすべて非稼働日とし、代わりに翌週の土曜日(5月14日)を振替出勤日とする場合は、以下のようなコードになります。
CalendarDateSettings dateSettings; // 昭和の日 dateSettings = new CalendarDateSettings(new DateTime(2022, 4, 29)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // 憲法記念日 dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 3)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // みどりの日 dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 4)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // こどもの日 dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 5)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // 独自の休日① dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 2)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // 独自の休日② dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 6)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.False; ultraCalendarInfo1.DateSettings.Add(dateSettings); // 独自の休日①の振替出勤日 dateSettings = new CalendarDateSettings(new DateTime(2022, 5, 14)); dateSettings.IsWorkDay = Infragistics.Win.DefaultableBoolean.True; ultraCalendarInfo1.DateSettings.Add(dateSettings);
実行結果
サンプル
APIリファレンス
- CalendarDateSettings クラス メンバ