name_untitledのエッセイ

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

VB.NET DataGridViewでデータエラー

DataGridViewを使った画面で、データの編集が終わった後にエラーが出ると学生から相談があった。コードをもらって動かしてみたが特に変なところはない。しかも、Exceptionが勝手に拾われてメッセージが表示されている。

DataGridViewで次の例外が発生しました。
System.IndexOutOfRangeException: インデックス0に値がありません。

f:id:name_untitled:20160621144742p:plain

ググったところ、原因は、不正な値がDataTableに入った場合に起こるエラーで、DataErrorイベントハンドラーによって処理されている。特に設定をしないと既定のメソッドで処理が行われるらしい。つまり、通常のエラーとは違い勝手にダイアログが表示される。

そして、コードは特にエラーがないように思われた、、、。そして、急ぎの相談。

そこで、取りあえずDataErrorイベントを拾って、放置することにした、、、。

 

DataGridView.DataError Event (System.Windows.Forms)

 

u-prog.cocolog-nifty.com

 

Private Sub WithdrawDataGridView_DataError(sender As Object, e As DataGridViewDataErrorEventArgs) Handles WithdrawDataGridView.DataError
End Sub