|
分類:[.NET 全般]
VisualStudio2010で開発を行っています。 グレープシティ社のMultiRowを使用しています。 テキストボックスセルにて数値を入力し、DBへ接続しマスタ情報を取得する機能をCellValdatingに作成したところ マスタ情報取得が終わると次のテキストボックスにフォーカスが移動するのですが すばやくキー入力を行うとCellValdating後にテキストボックスの値が変わってしまう現象が起きます。
例 テキストボックスセル@で1を入力→Enter(テキストボックスセルAへフォーカス移動)→1を入力→テキストボックスセル@がなぜか「11」に。
原因を追究のためテキストボックスセル@のCellValdatingにタイマーで1分待つようにしたところ CellValdatingの待ち時間にキー入力された値が、CellValdating終了時にテキストボックスセル@に入ってきました。 デバックするとCellValdating中のテキストボックスセル@の値は1ですが CellValdatedで値が、待ち時間にキー入力された値がくっついた値になります。
CellValdatingの仕様なのか 上記現象はマスタ処理などを記述しなくても発生します。(1分タイマーのみ記述)
CellValdating中のキー無効が実現できれば回避可能かなと考えておりますが キー無効の方法がわからない状態です。
この現象を回避する方法をご教示ください。よろしくお願い致します。
|