VB.NET.データグリッドで入力制限するには?


まい  2004-08-10 21:07:39  No: 85095  IP: [192.*.*.*]

VB.NET初心者のまいです。データグリッド内で入力している際に、文字数オーバーエラーや数値範囲外エラーなどの入力制限をかけたいのですが、どうしたらよいのかわかりません。例えば、主キーが重複していると(固定?)エラーメッセージが表示されるのですが、そのメッセージを自分で制御っていうのは無理なんでしょうか?エラー時に、入力をキャンセルして再度入力状態にすることは無理ですかね?本当に困っています。どなたか分かる方がいましたら教えてください。

編集 削除
りっとっと  2004-08-10 21:28:35  No: 85096  IP: [192.*.*.*]

あまり正しいと思う方法が思い浮かびませんが、
データグリッドを継承したコントロールを作成し、
OnKeyイベントなどをオーバーライドして、
もし、入力された値がデータセットにすでにある場合は、
base(継承元のデータグリッド)コントロールに渡さずに、
true をリターンすれば、とりあえずはうまくいくと思います。

編集 削除
まい  2004-08-10 23:35:21  No: 85097  IP: [192.*.*.*]

りっとっとさん、返答ありがとうございます。私は今、DataGridコントロールのセルのTextBox、Validatingイベントを使って、文字入力後enterなどでセルが移動した時などにチェックが行えるようにしているのですが、うまくいかない状態でした。マウスクリックでセル移動をしたときにはうまくいくのですが・・・。(Validatingイベントを使っている自体だめなのでしょうか!?)
OnKeyイベントはまだ試していないので、早速実行してみます。
サンプルなどがある場合には教えていただけたら幸いです。

編集 削除
えだっち  2004-08-11 10:10:41  No: 85098  IP: [192.*.*.*]

わたしはACCESSしかわからないのですが、AFTERUPDATEイベントとかないんですか?

編集 削除