ドロップダウン日付時刻ピッカー

SpreadJSのセルドロップダウンのひとつにドロップダウン日付時刻ピッカーがあります。このドロップダウンはJavaScriptコードで定義でき、日付とともに時刻を表示するかどうかを指定します。以下のスプレッドシートは、ワークブック内のセルに適用された異なる設定の日付時間ピッカーを示しています。

ドロップダウンは、特定のプロパティを含むドロップダウンメニューをワークブックのセルに追加する機能を提供します。これらのドロップダウンメニューは、ドロップダウンメニューに使用するものを指定するほかに、追加のコードを必要としません。 SpreadJSでは、9種類のドロップダウンを使えるようになりました。このデモはドロップダウン日付時刻ピッカーの使い方を紹介します。 以下のコードで、ドロップダウン日付時刻ピッカーを使用できます: いくつかのオプションがあります: showTime: boolean : カレンダーに時間部分を表示する必要があるかどうかを指定します。 calendarPage: CalendarPage : デフォルトのページを指定します。年、月、日を含みます。サンプル: calendarPage: GC.Spread.Sheets.CalendarPage.year. startDay: CalendarStartDay : 週の開始日を指定します。通常、開始日は月曜日または日曜日ですが、任意の曜日を指定できます。サンプル: startDay: GC.Spread.Sheets.CalendarStartDay.monday. showDateRange: boolean : カレンダーが日付範囲モードで表示するかどうかを指定します。デフォルト値はfalseです。 showBuiltInDateRange: boolean : カレンダーに日付範囲パネルを表示するかどうかを指定します。
var spreadNS = GC.Spread.Sheets; window.onload = function () { var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss")); initSpread(spread); }; function initSpread(spread) { var sheet = spread.getSheet(0); sheet.suspendPaint(); // -------------------- Date Time Picker : showTime true --------------------- var showTimeStyle = new GC.Spread.Sheets.Style(); showTimeStyle.cellButtons = [ { imageType: GC.Spread.Sheets.ButtonImageType.dropdown, command: "openDateTimePicker", useButtonStyle: true, } ]; showTimeStyle.dropDowns = [ { type: GC.Spread.Sheets.DropDownType.dateTimePicker, option: { showTime: true } } ]; sheet.setText(1, 3, "Date Time Picker (showTime: true)"); sheet.setColumnWidth(3, 200); sheet.setStyle(2, 3, showTimeStyle); // -------------------- Date Time Picker : showTime False --------------------- let notShowTimestyle = new GC.Spread.Sheets.Style(); notShowTimestyle.cellButtons = [ { imageType: GC.Spread.Sheets.ButtonImageType.dropdown, command: "openDateTimePicker", useButtonStyle: true, } ]; notShowTimestyle.dropDowns = [ { type: GC.Spread.Sheets.DropDownType.dateTimePicker, option: { showTime: false } } ]; sheet.setText(20, 3, "Date Time Picker (showTime: false)"); sheet.setStyle(21, 3, notShowTimestyle); // -------------------- Date Time Picker : CalendarPage - Year --------------------- let calendarYearStyle = new GC.Spread.Sheets.Style(); calendarYearStyle.cellButtons = [ { imageType: GC.Spread.Sheets.ButtonImageType.dropdown, command: "openDateTimePicker", useButtonStyle: true, } ]; calendarYearStyle.dropDowns = [ { type: GC.Spread.Sheets.DropDownType.dateTimePicker, option: { showTime: true, calendarPage: GC.Spread.Sheets.CalendarPage.year, } } ]; sheet.setText(20, 6, "Date Time picker (calendarPage - Year)"); sheet.setColumnWidth(6, 200); sheet.setStyle(21, 6, calendarYearStyle); // -------------------- Date Time Picker : CalendarPage - Month --------------------- let calendarMonthStyle = new GC.Spread.Sheets.Style(); calendarMonthStyle.cellButtons = [ { imageType: GC.Spread.Sheets.ButtonImageType.dropdown, command: "openDateTimePicker", useButtonStyle: true, } ]; calendarMonthStyle.dropDowns = [ { type: GC.Spread.Sheets.DropDownType.dateTimePicker, option: { showTime: true, calendarPage: GC.Spread.Sheets.CalendarPage.month, } } ]; sheet.setText(1, 6, "Date Time picker (calendarPage - Month)"); sheet.setColumnWidth(6, 200); sheet.setStyle(2, 6, calendarMonthStyle); let rangeCalendarStyle = new GC.Spread.Sheets.Style(); rangeCalendarStyle.formatter = '=IF(ISBLANK(@), "", TEXT(@.start, "m/d/yyyy")&"~"&TEXT(@.end, "m/d/yyyy"))'; rangeCalendarStyle.cellButtons = [ { imageType: GC.Spread.Sheets.ButtonImageType.dropdown, command: "openDateTimePicker", useButtonStyle: true, } ]; rangeCalendarStyle.dropDowns = [ { type: GC.Spread.Sheets.DropDownType.dateTimePicker, option: { showDateRange: true, } } ]; sheet.setText(1, 10, "Date Range picker"); sheet.setColumnWidth(9, 100); sheet.setText(3, 9, "Start Time:"); sheet.setFormula(3, 10, '=IF(ISBLANK(K3), "", TEXT(K3.start, "m/d/yyyy")'); sheet.setText(4, 9, "End Time:"); sheet.setFormula(4, 10, '=IF(ISBLANK(K3), "", TEXT(K3.end, "m/d/yyyy")'); sheet.setText(1, 10, "Date Range picker"); sheet.setColumnWidth(10, 200); sheet.setStyle(2, 10, rangeCalendarStyle); sheet.resumePaint(); spread.commandManager().execute({ cmd: "openDateTimePicker", row: 2, col: 10, sheetName: "Sheet1" }); // spread.commandManager().execute({cmd:"openDateTimePicker",row:2,col:11,sheetName:"Sheet1"}); // spread.commandManager().execute({cmd:"openDateTimePicker",row:21,col:11,sheetName:"Sheet1"}); // spread.commandManager().execute({cmd:"openDateTimePicker",row:21,col:5,sheetName:"Sheet1"}); }
<!doctype html> <html style="height:100%;font-size:14px;"> <head> <meta name="spreadjs culture" content="ja-jp" /> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="$DEMOROOT$/ja/purejs/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css"> <script src="$DEMOROOT$/ja/purejs/node_modules/@mescius/spread-sheets/dist/gc.spread.sheets.all.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ja/purejs/node_modules/@mescius/spread-sheets-resources-ja/dist/gc.spread.sheets.resources.ja.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/spread/source/js/license.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <div class="sample-tutorial"> <div id="ss" style="width:100%; height: 100%"></div> </div> </body> </html>
.sample-tutorial { position: relative; height: 100%; overflow: hidden; } body { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }