[]
ここでは、フィールドオブジェクトによる書式設定について説明します。
入力時の書式を設定する入力フィールドには、次の11種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
フィールド(クラス) | 説明 |
|---|---|
午前/午後入力フィールド | |
日入力フィールド | |
年号入力フィールド | |
和暦入力フィールド | |
時間入力フィールド | |
リテラル文字フィールド | |
分入力フィールド | |
月入力フィールド | |
秒入力フィールド | |
12時間制時刻入力フィールド | |
年入力フィールド |
また、表示フィールドでは、次の14種類のフィールドが提供されています。
フィールド(クラス) | 説明 |
|---|---|
西暦表示フィールド | |
午前/午後表示フィールド | |
日表示フィールド | |
年号表示フィールド | |
和暦表示フィールド | |
時刻表示フィールド | |
リテラル文字表示フィールド | |
分表示フィールド | |
月表示フィールド | |
秒表示フィールド | |
12時間制時刻表示フィールド | |
システム書式表示フィールド | |
曜日表示フィールド | |
年表示フィールド |
日付時刻の書式は、入力および表示用の各フィールドコレクションに、前項で解説したフィールドオブジェクトを組み合わせて作成します。
入力書式を設定するには、AddまたはAddRangeメソッドを使用して、DateTimeFieldCollectionInfoに入力用フィールドオブジェクトを追加します。表示書式は、Add またはAddRangeメソッドを使用して、表示用フィールドオブジェクトをDateTimeDisplayFieldCollectionInfoに追加します。
次のサンプルコードは、以下の図のようにGcDateTime型セルに書式を設定する例です。


using InputManCell = GrapeCity.Win.Spread.InputMan.CellType;
GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType gdcell = new GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType();
// フィールドをクリアします。
gdcell.Fields.Clear();
gdcell.DisplayFields.Clear();
// 入力フィールドのオブジェクトを作成します。
InputManCell.Fields.DateYearFieldInfo dateYearField1 = new InputManCell.Fields.DateYearFieldInfo(InputManCell.YearDigitType.FourDigitYear);
InputManCell.Fields.DateLiteralFieldInfo dateLiteralField1 = new InputManCell.Fields.DateLiteralFieldInfo("/");
InputManCell.Fields.DateMonthFieldInfo dateMonthField1 = new InputManCell.Fields.DateMonthFieldInfo(InputManCell.MonthPattern.Number);
InputManCell.Fields.DateLiteralFieldInfo dateLiteralField2 = new InputManCell.Fields.DateLiteralFieldInfo("/");
InputManCell.Fields.DateDayFieldInfo dateDayField1 = new InputManCell.Fields.DateDayFieldInfo();
// フィールドをコレクションに追加してコントロールに入力書式を設定します。
gdcell.Fields.AddRange(new InputManCell.Fields.DateFieldInfo[] {
dateYearField1, dateLiteralField1, dateMonthField1,
dateLiteralField2, dateDayField1
});
// 表示フィールドのオブジェクトを作成します。
InputManCell.Fields.DateYearDisplayFieldInfo dateYearDisplayDield1 = new InputManCell.Fields.DateYearDisplayFieldInfo(false);
InputManCell.Fields.DateLiteralDisplayFieldInfo dateLiteralDisplayField1 = new InputManCell.Fields.DateLiteralDisplayFieldInfo("年");
InputManCell.Fields.DateMonthDisplayFieldInfo dateMonthDisplayField1 = new InputManCell.Fields.DateMonthDisplayFieldInfo(false);
InputManCell.Fields.DateLiteralDisplayFieldInfo dateLiteralDisplayField2 = new InputManCell.Fields.DateLiteralDisplayFieldInfo("月");
InputManCell.Fields.DateDayDisplayFieldInfo dateDayDisplayField1 = new InputManCell.Fields.DateDayDisplayFieldInfo(false);
InputManCell.Fields.DateLiteralDisplayFieldInfo dateLiteralDisplayField3 = new InputManCell.Fields.DateLiteralDisplayFieldInfo("日");
// フィールドをコレクションに追加してコントロールに表示書式を設定します。
gdcell.DisplayFields.AddRange(new InputManCell.Fields.DateDisplayFieldInfo[] {
dateYearDisplayDield1, dateLiteralDisplayField1, dateMonthDisplayField1,
dateLiteralDisplayField2, dateDayDisplayField1 , dateLiteralDisplayField3
});
fpSpread1.ActiveSheet.Cells[0, 0].CellType = gdcell;Imports InputManCell = GrapeCity.Win.Spread.InputMan.CellType
Dim gdcell = New GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType()
' フィールドをクリアします。
gdcell.Fields.Clear()
gdcell.DisplayFields.Clear()
' 入力フィールドのオブジェクトを作成します。
Dim dateYearField1 As New InputManCell.Fields.DateYearFieldInfo(InputManCell.YearDigitType.FourDigitYear)
Dim dateLiteralField1 As New InputManCell.Fields.DateLiteralFieldInfo("/")
Dim dateMonthField1 As New InputManCell.Fields.DateMonthFieldInfo(InputManCell.MonthPattern.Number)
Dim dateLiteralField2 As New InputManCell.Fields.DateLiteralFieldInfo("/")
Dim dateDayField1 As New InputManCell.Fields.DateDayFieldInfo()
' フィールドをコレクションに追加してコントロールに入力書式を設定します。
gdcell.Fields.AddRange(New InputManCell.Fields.DateFieldInfo() { _
dateYearField1, dateLiteralField1, dateMonthField1, _
dateLiteralField2, dateDayField1})
' 表示フィールドのオブジェクトを作成します。
Dim dateYearDisplayDield1 As New InputManCell.Fields.DateYearDisplayFieldInfo(False)
Dim dateLiteralDisplayField1 As New InputManCell.Fields.DateLiteralDisplayFieldInfo("年")
Dim dateMonthDisplayField1 As New InputManCell.Fields.DateMonthDisplayFieldInfo(False)
Dim dateLiteralDisplayField2 As New InputManCell.Fields.DateLiteralDisplayFieldInfo("月")
Dim dateDayDisplayField1 As New InputManCell.Fields.DateDayDisplayFieldInfo(False)
Dim dateLiteralDisplayField3 As New InputManCell.Fields.DateLiteralDisplayFieldInfo("日")
' フィールドをコレクションに追加してコントロールに入力書式を設定します。
gdcell.DisplayFields.AddRange(New InputManCell.Fields.DateDisplayFieldInfo() { _
dateYearDisplayDield1, dateLiteralDisplayField1, dateMonthDisplayField1, _
dateLiteralDisplayField2, dateDayDisplayField1, dateLiteralDisplayField3})
FpSpread1.ActiveSheet.Cells(0, 0).CellType = gdcellフィールドオブジェクトをDateTimeFieldCollectionInfoまたはDateTimeDisplayFieldCollectionInfoから削除するには、Remove、またはRemoveAtメソッドを使用します。
次のサンプルコードは、DateTimeDisplayFieldCollectionInfoの先頭のフィールドを削除する例です。
// コレクションの先頭のオブジェクトを削除
GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType cell = (fpSpread1.ActiveSheet.GetCellType(0, 0) as GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType);
cell.DisplayFields.RemoveAt(0);' コレクションの先頭のオブジェクトを削除
Dim cell As GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType = TryCast(FpSpread1.ActiveSheet.GetCellType(0, 0), GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType)
cell.DisplayFields.RemoveAt(0)ここでは、GcDateTime型セルの入力フィールドに設定可能な11種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcDateTime型セルのすべての入力フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
|---|---|
フィールド背景色を設定します。 | |
フィールドに表示される文字列のフォントを設定します。 | |
フィールド背景色を設定します。 | |
フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 | |
フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字フィールド(DateLiteralFieldInfoクラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
|---|---|
リテラル文字として表示する文字列を設定します。 |
年号入力フィールド (DateEraFieldInfoクラス)は和暦表示時の年号を入力するフィールドです。
プロパティ | 説明 |
|---|---|
フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。 | |
フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。 | |
年号を表す文字列を設定します。 (EraPattern型) EraPattern.EraName のときは、年号を正式名称で表示、EraPattern.AbbreviatedEraName のときは、年号の頭文字を表示、EraPattern.Symbol のときは、年号を記号で表示します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
和暦入力フィールド (DateEraYearFieldInfo クラス)は、和暦年を入力するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
年入力フィールド (DateYearFieldInfoクラス)は、西暦の年を入力するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 | |
西暦2桁入力時の有効期間(100年間)の最後の年を取得または設定します。 | |
西暦の表示桁数を設定します。 (YearDigitType型) YearDigitType.FourDigitYear のときは、年を4桁で表示します。YearDigitType.TwoDigitYear のときは、年を2桁で表示します。 |
月入力フィールド (DateMonthFieldInfoクラス)は、月を入力するフィールドです。
プロパティ | 説明 |
|---|---|
フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。 | |
フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。 | |
月を表す文字列を設定します。 (MonthPattern型) MonthPattern.MonthName のときは、月を正式名称で表示します。(DateTimeFormatInfo.MonthNames()で指定された形式) MonthPattern.AbbreviatedMonthName のときは、月を月を省略形で表示します。 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) MonthPattern.Number のときは、月を2桁の数字で表示(先頭に0を付ける)します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
日入力フィールド (DateDayFieldInfoクラス)は、日を入力するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
午前/午後入力フィールド(DateAmPmFieldInfoクラス)は、時刻の午前/午後を入力するフィールドです。
プロパティ | 説明 |
|---|---|
午前を表す文字列を設定します。 | |
午前/午後を表す文字の表示方法を設定します。(AmPmPattern型) AmPmDesignator.AmPmDesignator のときは、AMDesignatorまたはPMDesignatorで表される文字列、AmPmDesignator.AbbreviatedAmPmDesignatorで表わされる文字列の最初の1文字。 | |
午後を表す文字列を設定します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
12時間制時刻入力フィールド (DateShortHourFieldInfoクラス)は、12時間制の時刻を入力するフィールドです。
プロパティ | 説明 |
|---|---|
12時間の範囲を定義する値を取得または設定します。(Hour12Mode型) Hour12Mode.Hour12As0 のときは、表示範囲を 「00:00:00 ~ 11:59:59」 にします。Hour12Mode.Hour0As12 表示範囲を 「01:00:00 ~ 12:59:59」 にします。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
時入力フィールド (DateHourFieldInfoクラス)は、時刻の時を入力するフィールドです。
プロパティ | 説明 |
|---|---|
真夜中の表示方法を取得または設定します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
分入力フィールド (DateMinuteFieldInfoクラス)は、時刻の分を入力するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
秒入力フィールド (DateSecondFieldInfoクラス)は、時刻の秒を入力するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
スピン機能により日付を増減する値を設定します。 |
ここでは、GcDateTime型セルの表示フィールドに設定可能な14種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、日付時刻コントロールのすべての表示フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
|---|---|
フィールド背景色を設定します。 | |
フィールドに表示される文字列のフォントを設定します。 | |
フィールド前景色を設定します。 | |
フィールド領域の外枠の距離を設定します。 コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 | |
フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字表示フィールド (DateLiteralDisplayFieldInfoクラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
|---|---|
リテラル文字として表示する文字列を設定します。 |
年号表示フィールド (DateEraDisplayFieldInfoクラス)は、和暦表示時の年号を表示するフィールドです。
プロパティ | 説明 |
|---|---|
年号を表す文字列を設定します。 (EraPattern型) EraPattern.EraName のときは、年号を正式名称で表示、EraPattern.AbbreviatedEraName のときは、年号の頭文字を表示、EraPattern.Symbol のときは、年号を記号で表示します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 |
和暦表示フィールド (DateEraYearDisplayFieldInfoクラス)は、和暦年を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 | |
開始年を元と表示するかどうか設定します。 |
西暦表示フィールド (DateADDisplayFieldInfo クラス)は、紀元後を表すA.D.を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 |
年表示フィールド (DateYearDisplayFieldInfo クラス)は、西暦の年を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 | |
西暦の表示桁数を設定します。 (YearDigitType型) YearDigitType.FourDigitYear のときは、年を4桁で表示します。YearDigitType.TwoDigitYear のときは、年を2桁で表示します。 |
月表示フィールド (DateMonthDisplayFieldInfo クラス)は、月を表示するフィールドです。
プロパティ | 説明 |
|---|---|
月を表す文字列を設定します。 (MonthPattern型) MonthPattern.MonthName のときは、月を正式名称で表示します。(DateTimeFormatInfo.MonthNames()で指定された形式) MonthPattern.AbbreviatedMonthName のときは、月を月を省略形で表示します。 (DateTimeFormatInfo.AbbreviatedMonthNames() で指定された形式) MonthPattern.Number のときは、月を2桁の数字で表示(先頭に0を付ける)します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
日表示フィールド (DateDayDisplayFieldInfo クラス)は、日を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
曜日表示フィールド (DateWeekdayDisplayFieldInfo クラス)は、曜日を表示するフィールドです。
プロパティ | 説明 |
|---|---|
曜日を表す文字列を設定します。 (WeekdayPattern型) MonthPattern.MonthName のときは、曜日を正式名称で表示します。 (DateTimeFormatInfo.DayNames()で指定された形式) MonthPattern.AbbreviatedMonthName のときは、曜日を省略形で表示します。 (DateTimeFormatInfo.AbbreviatedDayNames()で指定された形式) | |
値が入力されていないときに表示するプロンプト文字を設定します。 |
午前/午後表示フィールド (DateAmPmDisplayFieldInfo クラス)は、時刻の午前/午後を表示するフィールドです。
プロパティ | 説明 |
|---|---|
午前を表す文字列を設定します。 | |
午前/午後を表す文字の表示方法を設定します。(AmPmPattern型) AmPmDesignator.AmPmDesignator のときは、AMDesignatorまたはPMDesignatorで表される文字列、AmPmDesignator.AbbreviatedAmPmDesignatorで表わされる文字列の最初の1文字。 | |
午後を表す文字列を設定します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 |
12時間制時刻表示フィールド (DateShortHourDisplayFieldInfo クラス)は、 12時間制の時刻を表示するフィールドです。
プロパティ | 説明 |
|---|---|
12時間の範囲を定義する値を取得または設定します。(Hour12Mode型) Hour12Mode.Hour12As0 のときは、表示範囲を 「00:00:00 ~ 11:59:59」 にします。Hour12Mode.Hour0As12 表示範囲を 「01:00:00 ~ 12:59:59」 にします。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
時表示フィールド (DateHourDisplayFieldInfo クラス)は、時刻の時を表示するフィールドです。
プロパティ | 説明 |
|---|---|
真夜中の表示方法を取得または設定します。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
分表示フィールド (DateMinuteDisplayFieldInfo クラス)は、時刻の分を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
秒表示フィールド (DateSecondDisplayFieldInfo クラス)は、時刻の秒を表示するフィールドです。
プロパティ | 説明 |
|---|---|
値が入力されていないときに表示するプロンプト文字を設定します。 | |
値が1桁のとき先頭に0をつけるかどうか設定します。 |
システム書式表示フィールド (DateSystemFormatDisplayFieldInfo クラス)は、 システムで定義された書式指定子を使用して日付または時刻の書式を設定します。
プロパティ | 説明 |
|---|---|
書式を表す書式指定子を設定します。 (String型) 下表の書式指定子を設定することができます。 | |
値が入力されていないときに表示するプロンプト文字を設定します。 |
◆ Pattern プロパティに設定可能な書式指定子
書式指定子 | 説明 |
|---|---|
d | 短い形式の日付 (例:2100/04/01) |
D | 長い形式の日付 (例:2100年4月1日) |
t | 短い形式の時刻 (例:1:30) |
T | 長い形式の時刻 (例:1:30:00) |
f | 長い形式の日付と短い形式の時刻 (例:2100年4月1日 1:30) |
F | 長い形式の日付と長い形式の時刻 (例:2100年4月1日 1:30:00) |
g | 短い形式の日付と短い形式の時刻 (例:2100/04/01 1:30) |
G | 短い形式の日付と長い形式の時刻 (例:2100/04/01 1:30:00) |
Mまたはm | 月日の表示 (例:4月1日) |
Oまたはo | ラウンドトリップ形式 (例:2100-04-01T01:30:00.0000000) |
Rまたはr | RFC1123の形式 (例:Thu, 01 Apr 2100 01:30:00 GMT) |
s | ISO 8601準拠の形式 (例:2100-04-01T01:30:00) |
u | ユニバーサル形式 (例:2100-04-01 01:30:00Z) |
U | 世界協定時刻 (例:2100年3月31日 16:30:00) |
Yまたはy | 年月の表示 (例:2100年4月) |