[]
        
(Showing Draft Content)

入力の制御(GcDateTime型セル)

GcDateTime型セルでは、入力可能な日付範囲や、値の扱い方を設定できます。ここではGcDateTime型セルが提供する入力機能について解説します。

書式の設定

GcDateTime型セルでは書式設定により、日付や時刻の入力および表示書式を自由に設定できます。入力書式はセルが編集状態のときの書式で、表示書式はセルが非編集状態のときの書式です。書式には和暦を使用することも可能です。

詳細は「書式を設定する」で解説します。

リテラル文字とプロンプト文字

ShowLiterals プロパティを使えば、入力中にリテラル文字列を表示するかどうかを指定できます。

リテラル文字とは、DateLiteralFieldInfo プロパティ(リテラルフィールド)で定義された文字列をそのまま表示する文字列をいいます。

また、入力パターンフィールドには、プロンプト文字を設定することができます。プロンプト文字はPromptChar プロパティを使用します。プロンプト文字を使用することで、入力フィールドを明示的に表示したり入力文字数を視覚的に表すことができます。

クリップボードにリテラル文字を含まない値を渡すには、ClipContent プロパティを使用します。なお、プロンプト文字列は、ClipContent プロパティの設定に関わらず常にクリップボードに渡されます。

入力範囲の設定

MaxDate プロパティMinDate プロパティを設定してセルに入力可能な日付範囲を指定することができます。

すべてのフィールドの値が入力されると検証が行われ、範囲外の日付の場合にはMaxMinBehavior プロパティの設定によって、値が制御されます。MaxMinBehaviorプロパティに設定できる値は以下のとおりで、既定値はMaxMinBehavior.AdjustToMaxMinです。

MaxMinBehavior プロパティ値

説明

AdjustToMaxMin

値を最小値か最大値の近い方に設定します。

Clear

値を削除してnull にします。

Restore

変更前の値に戻します。

CancelInput

最後の入力をキャンセルしてフォーカスを保持します。

Keep

エラーとなったText プロパティの値を保持します。

サンプルコード

次のサンプルコードはGcDateTime型セルに最大値および最小値を設定します。

GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType gdcell = new GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType();
// 最大日付と最小日付を設定します。
gdcell.MaxDate = DateTime.Parse("2100/12/31");
gdcell.MinDate = DateTime.Parse("2000/1/1");
// 範囲外の場合に値をどのように制御するかを設定します。
gdcell.MaxMinBehavior = GrapeCity.Win.Spread.InputMan.CellType.MaxMinBehavior.CancelInput;
FpSpread1.ActiveSheet.Cells[0, 0].CellType = gdcell;
Dim gdcell = New GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType()
' 最大日付と最小日付を設定します。
gdcell.MaxDate = DateTime.Parse("2100/12/31")
gdcell.MinDate = DateTime.Parse("2000/1/1")
' 範囲外の場合に値をどのように制御するかを設定します。
gdcell.MaxMinBehavior = GrapeCity.Win.Spread.InputMan.CellType.MaxMinBehavior.CancelInput
FpSpread1.ActiveSheet.Cells(0, 0).CellType = gdcell

編集モードの切り替え

EditMode プロパティを使って、コントロールがフォーカスを受け取ったときのデフォルトの編集モードを定義できます。EditMode プロパティをEditMode.Insertにすると挿入モード、EditMode.Overwriteにすると上書きモードになります。また、EditMode.FixedInsertとEditMode.FixedOverwriteでは、編集モードが固定されるので、実行中に[Ins]キーが押されても編集モードは切り替わりません。

フィールドの入力モード

FieldsEditMode プロパティを使用すると、GcDateTime型セルの各フィールドの入力モードを変更することができます。FieldsEditMode には次の3つの値を設定することができます。

FieldsEditModeの値

説明

LeftSide

フィールドで値は左から右に入力されます。


RightSide

フィールドで値は右から左に入力されます。


Unfixed

フィールドで値は左から右に入力されます。

日付や時刻が1桁の値の場合は先頭に0を付加する必要はありません。


(図) 月のフィールドに1を入力した場合、値は1月と認識されます。

入力位置の設定

DefaultActiveField プロパティを使用すると、セルが編集状態になったときにキャレットを配置するフィールドを指定できます。

改行コードの取り扱い

AcceptsCrLf プロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLf プロパティは、以下の3つの動作から選択します。

AcceptsCrLfの値

説明

NoControl

改行コードはそのままでコピー、貼り付けを行います。従来のInputManの日付コントロールと同じ動作です。

Filter

全ての改行コードを削除しコピー、貼り付けを行います。

Cut

最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。

参照

書式の設定(GcDateTime型セル)

視覚的な補助(GcDateTime型セル)

ドロップダウンカレンダー(GcDateTime型セル)

ドロップダウン日付時刻ピッカー(GcDateTime型セル)

和暦表示の設定(GcDateTime型セル)

祝日の設定(GcDateTime型セル)