2017-01-31 3 views
0

データソースに関連付けられたDataViewGridがあります。 UserDeletingRowイベントが実行されると、グリッドとデータベースから行が削除されます。UserDeletingRow DataGridViewによってプログラムが終了する

しかし、実行すると、System.IndexOutOfRangeExceptionが発生したfrmMainのプログラムが異常終了します。

私はtryとcatchのコードを削除処理の周りに置こうとしましたが、コードはfrmMain終了の前に完全に実行されます。

私は、Application.Run(新しいfrmMain())の周りにtry catchロジックを追加しました。私はまだエラーをキャッチすることはできません。

確かに、削除されたprocを保存してUserDeletingRowを使用し、更新されたデータテーブルをグリッドにリロードする方法はありますか?

どのようなヘルプも大歓迎です。私は要求に応じてコードを添付します。

+1

「UserDeletingRow」イベントを少なくとも投稿する必要があります。 – JohnG

+0

データソースに応じて、DBプロバイダオブジェクトはすべてそれを行うことができます。したがって、「データテーブルを更新する」必要はありません。 – Plutonix

答えて

0

私はちょうど数分前にこれを理解しました。 1 1/2日のショットが、レコードを削除した後にデータテーブルを参照していることが判明し、-1のインデックス問題が発生していました。私は最も奇妙なことは、メインフォームのApplication.Runにスローされていたので、どのようにエラーをキャッチできなかったかということでした。

関連する問題