日付時刻型セルの主な機能は次のとおりです。
日付時刻型セルでは、入力用と表示用それぞれの書式を設定することができます。例えば、西暦で入力し和暦で表示するといったことが可能です。詳細については「書式設定(日付時刻型セル)」で解説しています。
MaxDate および MinDate プロパティで入力可能な日付の最大値および最小値を設定できます。
最大値および最小値を設定した場合、ドロップダウン カレンダーには有効な日付範囲のみ表示され、範囲を超える日付は選択できなくなります。また、スピンボタンによる値の増減は、指定された日付範囲内に制限されます。
日付の年月日を区切る「/」(スラッシュ)など、定義されたとおりに表示する文字をリテラル文字と呼びます。編集中のリテラル文字の表示方法を ShowLiterals プロパティで設定できます。
フィールドに、未入力の文字数分表示する文字をプロンプト文字と呼びます。プロンプト文字は PromptChar プロパティで設定できます。
未入力のセルに表示するテキストを設定できます。セルが入力状態のときに表示するテキストは WatermarkNull プロパティ、セルが非編集状態のときに表示するテキストは WatermarkDisplayNull プロパティに設定します。
また、和暦表示できない時に適用する書式を設定できます。セルが入力状態のときに適用する書式は WatermarkEmptyEra プロパティ、セルが非編集状態のときに適用する書式は WatermarkDisplayEmptyEra プロパティに設定します。
なお、WatermarkNullForeground、WatermarkDisplayNullForeground、WatermarkEmptyEraForeground および WatermarkDisplayEmptyEraForeground プロパティでそれぞれのテキストの文字の色を設定できます。
次のサンプルコードは日付時刻型セルにウォーターマーク(透かし)を設定します。
C# |
コードのコピー |
---|---|
DateTimeCellType dt = new DateTimeCellType(); dt.FieldSet = new DateFieldSet("yyyy年MM月dd日"); dt.DisplayFieldSet = new DateDisplayFieldSet("gggEE年MM月dd日"); dt.WatermarkDisplayNullForeground = new SolidColorBrush(Colors.Red); dt.WatermarkDisplayNull = "<未入力>"; dt.WatermarkDisplayEmptyEra = "{[yyyy年MM月dd日]}"; gcSpreadGrid1.Columns[1].CellType = dt; |
Visual Basic |
コードのコピー |
---|---|
Dim dt As New DateTimeCellType() dt.FieldSet = New DateFieldSet("yyyy年MM月dd日") dt.DisplayFieldSet = New DateDisplayFieldSet("gggEE年MM月dd日") dt.WatermarkDisplayNullForeground = New SolidColorBrush(Colors.Red) dt.WatermarkDisplayNull = "<未入力>" dt.WatermarkDisplayEmptyEra = "{[yyyy年MM月dd日]}" GcSpreadGrid1.Columns(1).CellType = dt |
未入力のセルに入力候補値をグレー表示できます。入力候補として表示する値を RecommendedValue プロパティに設定し ShowRecommendedValue プロパティを True に設定します。ユーザーは [Ctrl]+[Enter] キーでセルに候補値を適用できます。
次の図のように、入力した残りの部分に候補値を適用することもできます。
フィールドへの入力方法を FieldsEditMode プロパティで変更できます。次の設定値があります。
FieldsEditMode の値 | 説明 |
---|---|
LeftSide | フィールドの左から入力 |
RightSide | フィールドの右から入力 |
Unfixed | フィールドの右から入力し、1桁の値の先頭に0を付ける必要はありません。 |
既定では、セルが編集状態になったとき、最初の入力フィールドの先頭にキャレットが表示されます。キャレットを最初に表示するフィールドは DefaultActiveFieldIndex プロパティで設定できます。
また HighlightText プロパティを設定し、セルが編集状態になったときにフィールドを選択状態にすることができます。設定値は次のとおりです。
HighlightText の値 | 説明 |
---|---|
None | DefaultActiveFieldIndex プロパティで指定したフィールドの先頭にキャレットが表示されます。 |
Field | DefaultActiveFieldIndex プロパティで指定したフィールドが選択状態になります。 |
All | DefaultActiveFieldIndex プロパティの設定に関わらずセルの内容がすべて選択状態となります。 |