SPREADの編集可能なセル型が適用されているセルは、.NET Frameworkが提供する標準の検証コントロールおよびInputManが提供する検証コントロールを使用して検証を行うことが可能です。たとえば、標準のRequiredFieldValidatorコントロールを使用すれば、空白セルのエラーを検出でき、またInputManのGcCharacterTypeValidatorコントロールを使用すると、入力文字種を限定することが可能になります。
このとき、検証コントロールのErrorMessage プロパティがエラー発生時にセルノートに表示されます。
InputManが提供する検証コントロールの使用方法については「InputManを使用した検証」を参照してください。
通常、検証コントロールによる検証はクライアント側で行われますが、サーバー側で検証を行うことも可能です。また、非編集モードのときペースト操作により値が入力される場合も、正しく検証が行われます。
設定方法
各セル型のValidators プロパティに検証コントロールオブジェクトを設定します。
また、サーバー側検証を有効にするには、各セル型のAllowServerValidators プロパティをtrueに設定します。非編集モードでのペースト時にも検証を行うには、FpSpread クラスのNonEditModeValidation プロパティをtrueに設定します。既定値はtrueです。
サンプルコード
次のサンプルコードは、テキスト型セルが空白のとき、エラーを通知する設定です。また、サーバー側検証を有効にします。
// RequiredFieldValidatorを生成
RequiredFieldValidator RequiredFieldValidator1 = new RequiredFieldValidator();
RequiredFieldValidator1.EnableClientScript = false;
RequiredFieldValidator1.ErrorMessage = "必須入力です。";
// テキスト型セルに検証を設定
FarPoint.Web.Spread.TextCellType tc1 = new FarPoint.Web.Spread.TextCellType();
tc1.AllowServerValidators = true;
tc1.Validators.Add(RequiredFieldValidator1);
FpSpread1.ActiveSheetView.Columns[1].CellType = tc1;
// ペースト時も検証
FpSpread1.NonEditModeValidation = true;
' RequiredFieldValidatorを生成
Dim RequiredFieldValidator1 As New RequiredFieldValidator()
RequiredFieldValidator1.EnableClientScript = False
RequiredFieldValidator1.ErrorMessage = "必須入力です。"
' テキスト型セルに検証を設定
Dim tc1 As New FarPoint.Web.Spread.TextCellType()
tc1.AllowServerValidators = True
tc1.Validators.Add(RequiredFieldValidator1)
FpSpread1.ActiveSheetView.Columns(1).CellType = tc1
' ペースト時も検証
FpSpread1.NonEditModeValidation = True
関連トピック