祝日設定に「山の日」を追加したい

文書番号 : 40677     文書種別 : 使用方法     登録日 : 2017/07/26     最終更新日 : 2017/07/26
文書を印刷する
対象製品
MultiRow for Windows Forms 10.0J
詳細
2016年から、8月11日に「山の日」が国民の祝日として施行されています。
GcDateTimeCellのドロップダウンカレンダーおよびGcCalendarCellの休日設定に2016年以降の8月11日を追加するには、ForceHolidayオブジェクトを使用して、特定の年にだけ適用される休日を生成します。

[Visual Basic]
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak

' GcDateTimeCellを設定します。
Dim GcDateTimeCell1 As New InputManCell.GcDateTimeCell()
GcDateTimeCell1.Name = "GcDateTimeCell1"

' 固定の祝日を設定します。 
' 休日スタイルを生成します。 
Dim nationalHolidayIMCell = New InputManCell.HolidayStyle()
nationalHolidayIMCell.Name = "国民の祝日"
nationalHolidayIMCell.SubStyle = New InputManCell.SubStyle(Color.Pink, Color.White, True, False)

' 休日スタイルをコレクションに追加してカレンダーに反映させます。
GcDateTimeCell1.DropDownCalendar.HolidayStyles.Add("国民の祝日", nationalHolidayIMCell)
GcDateTimeCell1.DropDownCalendar.ActiveHolidayStyles = New String() {"国民の祝日"}

' GcCalendarCellを設定します。
Dim GcCalendarCell1 = New PlusPakCell.GcCalendarCell()
GcCalendarCell1.Name = "GcCalendarCell1"

' 固定の祝日を設定します。 
' 休日スタイルを生成します。 
Dim nationalHolidayPPCell = New PlusPakCell.HolidayStyle()
nationalHolidayPPCell.Name = "国民の祝日"
nationalHolidayPPCell.SubStyle = New PlusPakCell.SubStyle(Color.Pink, Color.White, True, False)

' 休日スタイルをコレクションに追加してカレンダーに反映させます。
GcCalendarCell1.HolidayStyles.Add("国民の祝日", nationalHolidayPPCell)
GcCalendarCell1.ActiveHolidayStyles = New String() {"国民の祝日"}

' 2016年から2099年まで、山の日を設定します。
For i As Integer = 2016 To 2099
    nationalHolidayIMCell.Holidays.Add(New InputManCell.ForceHoliday("山の日", DateTime.Parse(i.ToString() + "/8/11")))
    nationalHolidayPPCell.Holidays.Add(New PlusPakCell.ForceHoliday("山の日", DateTime.Parse(i.ToString() + "/8/11")))
Next

' MultiRowのテンプレートを設定します。
GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcDateTimeCell1, GcCalendarCell1})

[C#]
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak;

// GcDateTimeCellを設定します。
InputManCell.GcDateTimeCell gcDateTimeCell1 = new InputManCell.GcDateTimeCell();
gcDateTimeCell1.Name = "gcDateTimeCell";

// InputManCell用の休日スタイルを生成します。 
InputManCell.HolidayStyle nationalHolidayIMCell = new InputManCell.HolidayStyle();
nationalHolidayIMCell.Name = "国民の祝日";
nationalHolidayIMCell.SubStyle = new InputManCell.SubStyle(Color.Pink, Color.White, true, false);

// 休日スタイルをコレクションに追加してカレンダーに反映させます。
gcDateTimeCell1.DropDownCalendar.HolidayStyles.Add("国民の祝日", nationalHolidayIMCell);
gcDateTimeCell1.DropDownCalendar.ActiveHolidayStyles = new string[] { "国民の祝日" };

// GcCalendarCellを設定します。
PlusPakCell.GcCalendarCell gcCalendarCell1 = new PlusPakCell.GcCalendarCell();
gcCalendarCell1.Name = "gcCalendarCell1";

// PlusPakCell用の休日スタイルを生成します。 
PlusPakCell.HolidayStyle nationalHolidayPPCell = new PlusPakCell.HolidayStyle();
nationalHolidayPPCell.Name = "国民の祝日";
nationalHolidayPPCell.SubStyle = new PlusPakCell.SubStyle(Color.Pink, Color.White, true, false);

// 休日スタイルをコレクションに追加してカレンダーに反映させます。
gcCalendarCell1.HolidayStyles.Add("国民の祝日", nationalHolidayPPCell);
gcCalendarCell1.ActiveHolidayStyles = new string[] { "国民の祝日" };


// 2016年から2099年まで、山の日を設定します。
for (int i = 2016; i < 2099; i++)
{
    nationalHolidayIMCell.Holidays.Add(new InputManCell.ForceHoliday("山の日", DateTime.Parse(i.ToString() + "/8/11")));
    nationalHolidayPPCell.Holidays.Add(new PlusPakCell.ForceHoliday("山の日", DateTime.Parse(i.ToString() + "/8/11")));
}

// MultiRowのテンプレートを設定します。
gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcDateTimeCell1, gcCalendarCell1 });

なお、2016年以降に「山の日」が追加された祝日定義ファイルは製品に同梱されています。