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