作成日: 2017/08/25 最終更新日: 2017/08/25
文書種別
使用方法
詳細
日付コントロールに最大値および最小値を設定し、範囲内の値であるかどうかの検証を行うには、下記2種類の方法があります。
[C#]
日付検証コンポーネントを利用する場合には、コントロールのMaxDate/MinDateプロパティを初期値のままとするか、MaxMinBehaviorプロパティを[Keep]に設定する必要があります。
その上で日付検証コンポーネントにGcDateValidator.InvalidRangeオブジェクトを追加することによって実現します。
フォームに日付検証コンポーネントを追加し、以下の手順で実装します。
コードで実装するには、以下のように記述します。
[Visual Basic]
[C#]
- コントロールの最大値と最小値のプロパティを設定し、入力中に検証を行う
- 日付検証コンポーネントを利用して、フォーカス移動のタイミングで検証を行う
- 日付コントロールのMaxDateプロパティに最大値を、MinDateプロパティに最小値を設定します。
- 値がMaxDateプロパティとMinDateプロパティの範囲外の場合にその値をどのように制御するかをMaxMinBehaviorプロパティで設定します。
Imports GrapeCity.Win.Editors
' コントロールに最大値と最小値を設定します。
GcDate1.MaxDate = DateTime.Parse("2010/12/31")
GcDate1.MinDate = DateTime.Parse("2001/1/1")
' 範囲外の場合に最後の入力をキャンセルしてフォーカスを保持します。
GcDate1.MaxMinBehavior = MaxMinBehavior.CancelInput
[C#]
using GrapeCity.Win.Editors;
// コントロールに最大値と最小値を設定します。
gcDate1.MaxDate = DateTime.Parse("2010/12/31");
gcDate1.MinDate = DateTime.Parse("2001/1/1");
// 範囲外の場合に最後の入力をキャンセルしてフォーカスを保持します。
gcDate1.MaxMinBehavior = MaxMinBehavior.CancelInput;
日付検証コンポーネントを利用する場合には、コントロールのMaxDate/MinDateプロパティを初期値のままとするか、MaxMinBehaviorプロパティを[Keep]に設定する必要があります。
その上で日付検証コンポーネントにGcDateValidator.InvalidRangeオブジェクトを追加することによって実現します。
フォームに日付検証コンポーネントを追加し、以下の手順で実装します。
- 日付コントロールのスマートタグから、「検証アイテムの編集」を選択します。
- 検証アイテム「InvalidRange」を追加します。
- MaxValueプロパティに最大値を、MinValueプロパティに最小値を設定します。
- OKをクリックします。
- 日付コントロールのスマートタグから、「検証アクションの編集」を選択します。
- 検証アクション「ValueProcess」を追加します。
- ValueProcessOptionプロパティを[Restore]に設定します。
コードで実装するには、以下のように記述します。
[Visual Basic]
Imports GrapeCity.Win.Editors
' コントロールに最大値と最小値の検証アイテムを設定します。
Dim InvalidRange1 As New GcDateValidator.InvalidRange()
' 2001/01/01~2010/12/31を入力範囲とします。
InvalidRange1.MinValue = DateTime.Parse("2001/1/1")
InvalidRange1.MaxValue = DateTime.Parse("2010/12/31")
GcDateValidator1.GetValidateItems(GcDate1).Add(InvalidRange1)
' コントロールに入力された値が不正なときに、値(Textプロパティの値)を
' 入力前の値に戻す検証アクションを設定します。
Dim ValueProcess1 As New ValueProcess()
ValueProcess1.ValueProcessOption = ValueProcessOption.Restore
GcDateValidator1.GetValidateActions(GcDate1).Add(ValueProcess1)
[C#]
using GrapeCity.Win.Editors;
// コントロールに最大値と最小値の検証アイテムを設定します。
GcDateValidator.InvalidRange invalidRange1=new GcDateValidator.InvalidRange();
// 2001/01/01~2010/12/31を入力範囲とします。
invalidRange1.MinValue = DateTime.Parse("2001/1/1");
invalidRange1.MaxValue = DateTime.Parse("2010/12/31");
gcDateValidator1.GetValidateItems(gcDate1).Add(invalidRange1);
// コントロールに入力された値が不正なときに、値(Textプロパティの値)を
// 入力前の値に戻す検証アクションを設定します。
ValueProcess valueProcess1=new ValueProcess();
valueProcess1.ValueProcessOption = ValueProcessOption.Restore;
gcDateValidator1.GetValidateActions(gcDate1).Add(valueProcess1);
旧文書番号
40921