祝日の定義ファイル
祝日定義ファイルは、休日と休日スタイルが定義されたXMLファイルです。GcCalendarCellでこの定義ファイルをインポートすることで、コーディングや、プロパティの設定なしに簡単に祝日を設定することができます。
また、GcCalendarCell上で設定した休日を定義ファイルとしてエクスポートすることもできます。
なお、本製品には、サンプルとして国民の祝日が予め登録されて休日定義ファイルが付属しています。サンプルの祝日定義ファイルは、本製品インストールフォルダ内のSampleフォルダの「Holiday.xml」です。また、サンプルの祝日定義ファイルには、次の注意点があります。
また、GcCalendarCell上で設定した休日を定義ファイルとしてエクスポートすることもできます。
なお、本製品には、サンプルとして国民の祝日が予め登録されて休日定義ファイルが付属しています。サンプルの祝日定義ファイルは、本製品インストールフォルダ内のSampleフォルダの「Holiday.xml」です。また、サンプルの祝日定義ファイルには、次の注意点があります。
春分の日と秋分の日について
定義ファイルに登録されている春分の日と秋分の日は1950年から2099年まで登録されています。また、これらの日付は天文学に基づく計算から算出されていますが、実際の祝日とは異なる可能性があります。春分の日と秋分の日は、毎年2月に翌年分が閣議決定され、官報によって公布されます。
ハッピーマンデーについて
成人の日、敬老の日は、祝日改正法に基づいた日付で登録されています。よって、法律改正前の暦については、成人の日、敬老の日が異なります。
天皇の即位の日、即位礼正殿の儀の行われる日について
天皇即位にともない、2019年5月1日と2019年10月22日は祝日となります。また祝日法第3条第3項により、2019年4月30日と2019年5月2日も休日となります。定義ファイルには天皇即位に関連した祝日は臨時休業日(ForceHoliday)で登録されています。
天皇誕生日について
天皇即位にあわせ、2020年より天皇誕生日が変更となります。定義ファイルには1989年から2018年までの天皇誕生日を12月23日、2020年以降は2月23日として臨時休業日(ForceHoliday)で登録されています。
海の日、体育の日(スポーツの日)について
2020年の東京オリンピック/東京パラリンピックのため、2020年の海の日と体育の日が変更されます。また2020年以降は体育の日は「スポーツの日」に名称変更になります。これらの対応のため、海の日と体育の日(スポーツの日)は臨時休業日(ForceHoliday)で登録されています。
山の日について
山の日は2016年以降に施行されるため、定義ファイルには2016年から2099年まで登録されています。
定義ファイルのインポート/エクスポート
祝日定義ファイルをインポート/エクスポートするには、以下の手順で行います。ここでは、サンプルの祝日定義ファイル(Holiday.xml)を例に説明しています。
ファイルへのインポート/エクスポートは、HolidayStyleCollectionクラスのLoadまたはSaveメソッドを使ってコードから実行することもできます。以下は、休日定義ファイルをGcCalendarCellにインポートする例です。
インポートの手順
- GcCalendarCellを選択し、プロパティウィンドウでHolidayStylesプロパティの[...]ボタンをクリックします。
- 表示された休日エディタで[開く...]ボタンをクリックします。
- 「ファイルを開く」ダイアログボックスが表示されるので、Holiday.xmlを選択し[開く]ボタンをクリックします。
- 休日エディタの「スタイル」一覧に追加されたNationalHolidayのチェックボックスをチェックします。
- [OK]ボタンをクリックしてウィンドウを閉じます。
エクスポートの手順
- GcCalendarCellを選択し、プロパティウィンドウでHolidayStylesプロパティの[...]ボタンをクリックします。
- 休日エディタの[保存...]ボタンをクリックします。
- 「名前を付けて保存」ダイアログボックスが表示されるので、保存するファイル名を入力し[保存]ボタンをクリックします。
- 以上の操作で、カレンダーに休日スタイルがエクスポートされます。
ファイルへのインポート/エクスポートは、HolidayStyleCollectionクラスのLoadまたはSaveメソッドを使ってコードから実行することもできます。以下は、休日定義ファイルをGcCalendarCellにインポートする例です。
Dim GcCalendarCell1 = New PlusPak.GcCalendarCell() GcCalendarCell1.HolidayStyles = PlusPakCell.HolidayStyleCollection.Load("C:\Program Files\MultiRowWin8\Data\Holiday.xml") GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcCalendarCell1}) GcMultiRow1.RowCount = 10
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; PlusPakCell.GcCalendarCell gcCalendarCell1 = new PlusPakCell.GcCalendarCell(); gcCalendarCell1.HolidayStyles = PlusPakCell.HolidayStyleCollection.Load(@"C:\Program Files\MultiRowWin8\Data\Holiday.xml"); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcCalendarCell1 }); gcMultiRow1.RowCount = 10;