画面表示 - カレンダー
カレンダー上で休日を設定したい
土曜日、日曜日以外の任意の日付に、文字色、背景色を設定することが可能です。
サンプルコードでは、祝日の日付情報をCSVDocumentクラスに定義しておき、カレンダー読込時に祝日の文字色を青色に変更しています。
【実行結果】
Form ScD0193 { x = 0; y = 0; width = 343; height = 292; bgColor = new Brush("#ffffffff", Brush.SOLID); /* 祝日マスタ */ CSVDocument csv_holiday << CSV(YYYY, MM, DD){ 20150101 20150112 20150211 20150321 20150429 20150503 20150504 20150505 20150506 20150720 20150921 20150922 20150923 20151012 20151103 20151123 20151223 20160101 20160111 20160211 20160320 20160321 20160429 20160503 20160504 20160505 20160718 20160919 20160922 20161010 20161103 20161123 20161223 20170101 20170102 20170109 20170211 20170320 20170429 20170503 20170504 20170505 20170717 20170918 20170923 20171009 20171103 20171123 20171223 20180101 20180108 20180212 20180321 20180430 20180503 20180504 20180716 20180917 20180924 20181008 20181123 20181224 20190101 20190114 20190211 20190321 20190429 20190503 20190506 20190715 20190916 20190923 20191014 20191104 20191223 20200101 20200113 20200211 20200320 20200429 20200504 20200505 20200720 20200921 20200922 20201012 20201103 20201123 20201223 }; Calendar calendar1 { x = 23; y = 62; width = 284; height = 209; var cl = new Brush("#ff0000ff", Brush.SOLID); var dt, yy, mm, dd; # 祝日の設定 for( var i = 0; i < ^.csv_holiday.rows; i++ ){ yy = ^.csv_holiday.getCell( i, 0 ).substring( 0, 4 ); mm = (^.csv_holiday.getCell( i, 0 ).substring( 4, 6 )).toNumber() - 1; dd = ^.csv_holiday.getCell( i, 0 ).substring( 6, 8 ); dt = new Date( yy, mm, dd ); setFgColor( dt, cl ); } function onSelectionChanged(e){ # 選択された日付取得 var selDate = e.from.selected; ^.lb_date.value = selDate.toDateString(); # 選択された曜日取得 ^.lb_day.title = selDate.getDay(); var selDate = selDate.toDateString().replace( "/", "" ); # 選択された日付で祝日マスタを検索 if( ^.csv_holiday.find( 0, "0==" + selDate ) > -1 ){ # 祝日マスタに存在する場合 ^.lb_holiday.value = "祝日"; }else{ ^.lb_holiday.value = (day == 6 || day == 0) ? "休日" : "平日"; } } } Label lb_date { x = 23; y = 16; width = 147; height = 34; verticalAlign = ALIGN_MIDDLE; font = new Font("メイリオ", 18); bgColor = new Brush("#c82561e3", Brush.DENSE2); fgColor = "#ffffffff"; horizontalAlign = ALIGN_CENTER; value = new Date().toDateString(); } Label lb_day { x = 175; y = 16; width = 66; height = 34; font = new Font("メイリオ", 18); bgColor = new Brush("#c82561e3", Brush.DENSE2); fgColor = "#ffffffff"; horizontalAlign = ALIGN_CENTER; title = new Date().getDay(); value &= title == 1 ? "Mon" : title == 2 ? "Tue" : title == 3 ? "Wed" : title == 4 ? "Thu" : title == 5 ? "Fri" : title == 6 ? "Sat" : title == 0 ? "Sun" : ""; } Label lb_holiday { x = 246; y = 16; width = 66; height = 34; font = new Font("メイリオ", 18); bgColor = new Brush("#c82561e3", Brush.DENSE2); fgColor = "#ffffffff"; horizontalAlign = ALIGN_CENTER; var day = new Date().getDay(); value = (day == 6 || day == 0) ? "休日" : "平日"; } }
Biz-Collections Bizの宝箱 トップへ
Biz/Browser DT・Biz/Designer DT TIPS集 トップへ