MESCIUS MultiRow for Windows Forms 12.0J
値の比較による検証(CompareValueValidator)

CompareValueValidatorを使用すると、セルの値と任意の値とを比較して検証できます。CompareValueValidatorは、DateTime、TimeSpanまたはDecimal型(数値型)の値のみ比較できます。
デザイナによる設定
デザイナで値の比較による検証を設定するには、次のように操作します。この例では、数値型セルに5より大きな値が入力されたときに検証エラーを表示します。

  1. 数値型セルを置する。(例:numericUpDownCell1)
  2. 値を検証するセルを選択する。(例: numericUpDownCell1)
  3. プロパティウィンドウでValidatorsプロパティを選択し、[...]ボタンをクリックする。
  4. 表示されたCellValidatorコレクションエディタで左上のコンボボックスから「CompareValueValidator」を選択し、[追加]をクリックする。
  5. [メンバ]リストでCompareValueValidatorが選択されていることを確認する。
  6. 画面右のプロパティグリッドでComparedValueプロパティを選択し、「5」を入力する。
  7. 画面右のプロパティグリッドでComparedOperatorプロパティを選択し、「LessThanOrEquals」を選択する。
  8. 画面右のプロパティグリッドでActionsプロパティを選択し、[...]ボタンをクリックする。
  9. 表示されたCellValidateActionコレクションエディタでLineNotifyを追加する。
  10. [OK]ボタンをクリックしてCellValidateActionコレクションエディタを閉じる。
  11. [OK]ボタンをクリックしてCellValidatorコレクションエディタを閉じる。
  12. デザイナのドキュメントウィンドウのタブを「実行時」に切り替える。
  13. numericUpDownCell1に6を入力し、検証エラーになることを確認する。
コーディングによる設定
次のコードは、100より大きい値以外が入力された場合に検証エラーを表示します。

Imports GrapeCity.Win.MultiRow

Dim TextBoxCell1 As New TextBoxCell()
Dim CompareValueValidator1 As New CompareValueValidator()
CompareValueValidator1.RequiredType = GetType(Integer)
CompareValueValidator1.ComparedValue = 100
CompareValueValidator1.ComparedOperator = ValidateComparisonOperator.LessThanOrEquals
CompareValueValidator1.Actions.Add(New LineNotify())
TextBoxCell1.Validators.Add(CompareValueValidator1)

Dim cells As Cell() = {TextBoxCell1}
GcMultiRow1.Template = Template.CreateGridTemplate(cells)
GcMultiRow1.RowCount = 10
using GrapeCity.Win.MultiRow;

TextBoxCell textBoxCell1 = new TextBoxCell();

CompareValueValidator compareValueValidator1 = new CompareValueValidator();
compareValueValidator1.RequiredType = typeof(int);
compareValueValidator1.ComparedValue = 100;
compareValueValidator1.ComparedOperator = ValidateComparisonOperator.LessThanOrEquals;
compareValueValidator1.Actions.Add(new LineNotify());
textBoxCell1.Validators.Add(compareValueValidator1);

Cell[] cells = { textBoxCell1 };
gcMultiRow1.Template = Template.CreateGridTemplate(cells);
gcMultiRow1.RowCount = 10;
   
関連トピック

 

 


© MESCIUS inc. All rights reserved.