デザイナによる設定
デザイナで文字列の比較による検証を設定するには、次のように操作します。
- 値を検証するセルを選択する。(例: textBoxCell1)
- プロパティウィンドウでValidatorsプロパティを選択し、[...]ボタンをクリックする。
- 表示されたCellValidatorコレクションエディタで左上のコンボボックスから「CompareStringValidator」を選択し、[追加]をクリックする。
- [メンバ]リストでEncodingValidatorが選択されていることを確認する。
- 画面右のプロパティグリッドでEncodingプロパティを選択し、「日本語 (シフト JIS)」を選択する。
- 画面右のプロパティグリッドでActionsプロパティを選択し、[...]ボタンをクリックする。
- 表示されたCellValidateActionコレクションエディタでLineNotifyを追加する。
- [OK]ボタンをクリックしてCellValidateActionコレクションエディタを閉じる。
- [OK]ボタンをクリックしてCellValidatorコレクションエディタを閉じる。
- デザイナのドキュメントウィンドウのタブを「実行時」に切り替える。
- 環境依存文字を入力してセルを移動したときに検証エラーになることを確認する。
- 環境依存文字を消して、非環境依存文字を入力して移動したときに検証エラーにならないことを確認する。
コーディングによる設定
次のコードは、セルにShift-JIS以外の文字が入力されたときに検証エラーを表示します。
Imports GrapeCity.Win.MultiRow Dim TextBoxCell1 As New TextBoxCell() Dim EncodingValidator1 As New EncodingValidator() EncodingValidator1.Encoding = System.Text.Encoding.GetEncoding("Shift-JIS") EncodingValidator1.Actions.Add(New LineNotify()) TextBoxCell1.Validators.Add(EncodingValidator1) Dim cells As Cell() = {TextBoxCell1} GcMultiRow1.Template = Template.CreateGridTemplate(cells) GcMultiRow1.RowCount = 10
using GrapeCity.Win.MultiRow; TextBoxCell textBoxCell1 = new TextBoxCell(); EncodingValidator encodingValidator1 = new EncodingValidator(); encodingValidator1.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS"); encodingValidator1.Actions.Add(new LineNotify()); textBoxCell1.Validators.Add(encodingValidator1); Cell[] cells = { textBoxCell1 }; gcMultiRow1.Template = Template.CreateGridTemplate(cells); gcMultiRow1.RowCount = 10;