MESCIUS MultiRow for Windows Forms 12.0J
セルの比較による検証 (CompareCellValidator)

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

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

Imports GrapeCity.Win.MultiRow

Dim NumericUpDownCell1 As New NumericUpDownCell()
NumericUpDownCell1.Name = "NumericUpDownCell1"
NumericUpDownCell1.Value = 12
Dim NumericUpDownCell2 As New NumericUpDownCell()
NumericUpDownCell2.Name = "NumericUpDownCell2"
NumericUpDownCell2.Value = 12

Dim CompareCellValidator1 As New CompareCellValidator()
CompareCellValidator1.RequiredType = GetType(Integer)
CompareCellValidator1.ComparedCellName = "NumericUpDownCell2"
CompareCellValidator1.ComparedOperator = ValidateComparisonOperator.Equals
CompareCellValidator1.Actions.Add(New LineNotify())
NumericUpDownCell1.Validators.Add(CompareCellValidator1)

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

NumericUpDownCell numericUpDownCell1 = new NumericUpDownCell();
numericUpDownCell1.Name = "numericUpDownCell1";
numericUpDownCell1.Value = 12;
NumericUpDownCell numericUpDownCell2 = new NumericUpDownCell();
numericUpDownCell2.Name = "numericUpDownCell2";
numericUpDownCell2.Value = 12;

CompareCellValidator compareCellValidator1 = new CompareCellValidator();
compareCellValidator1.RequiredType = typeof(int);
compareCellValidator1.ComparedCellName = "numericUpDownCell2";
compareCellValidator1.ComparedOperator = ValidateComparisonOperator.Equals;
compareCellValidator1.Actions.Add(new LineNotify());
numericUpDownCell1.Validators.Add(compareCellValidator1);

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

 

 


© MESCIUS inc. All rights reserved.