[VB.net]「入力文字列の形式が正しくありません」エラーの原因と解決法。

投稿日:

先日、半日以上悩んでいた現象が解決しました。

結論

結論から言うと、CellValueChangedイベントでの処理が原因でした。

データグリッドへの値の投入時、CellValueChangedイベント内で、明細の値を使用した比較計算をさせていたんです。

それが、画面Load時なので、値が存在しない状態で計算しようとしてエラー吐いてました・・・

現象

データグリッドへの値をセットする際に「入力文字列の形式が正しくありません」のエラーが発生し、値が中途半端に投入される。

強制的に行列数分だけ回し、try-catchでエラーを無視することで無理やり機能を実現したが、画面の表示に数秒掛かるように・・・

これではイカンと思いつつも、原因が不明でどうしようもなかった。

実際、catchできたエラーからは、別のイベントが絡んでるなんて思いもしなかったし・・・

気づいたきっかけ

速度の遅さを指摘された再に、「CellValueChangedイベントを毎回使用してて効率悪くね?」というもの。

確かに、効率悪いなとは思っていたけど、エラー該当箇所では、TextプロパティにString値を入れてるだけで特別なことはして無いと思ってた。

そしたら、そのたびに、CellValueChangedイベントが動いていたことが判明・・・

そっちにはtry-catch仕掛けてなかったので、全然気づかなかった。

というか、CellValueChangedイベントの処理を入れる前は普通に処理出来ていたことに気づくべきだったのに・・・

まとめ

どうしようもない時は人を頼る方がいいね。

寝たら解決方法を思いつくかも・・・とか考えて、早々に諦めて帰ったりしたけど、全然そんなことは無くて、他人にテストを頼んだら、あっさりと解決方法にたどり着いたという。

個人的には一見エラーが無いように見えるイベント系は今後、注視ポイントにしていきたい。







-PC

関連記事

no image

MySQLの文字コードがUTF8になっていなかったので死ぬほど悩んだ話

結論から言うと、タイトルの通りMySQLのインストール後にいろいろ作業してたんだけど、文字コードがUTF 8になってなかったので、原因の究明と解消にすげぇ時間がかかった。 顛末 年に何回もない作業なん …

外付けキーボードの有用性。

普段から長文を入力をしない人とか、長時間PCを操作しない人だとピンと来ないかもしれないけど、キーボードって、割と重要。 打鍵感が~とか、拘って高いのを買ってる人とかもいるんだけど、個人的には割りとアリ …

SkypeでSMSを送信するために、そこまで必要じゃ無いけど、ガラケーでSMS使うのが嫌だったので、Skypeクレジット登録してSMS送信出来るようにしてみた。

上司に連絡を取るときに、電話に出れない時のほうが多いので、SMSを使わなくてはいけない。 いや、いけないことは無いんだけど、即時性を求めるならSMSになる。 Skypetとかもインストールはされてるか …

no image

割と聡明気?からMVNOを使ってる自分が、これからもMVNOを使って、キャリアのデータ定額を多分契約しない理由。

とある家電量販店にあるdocomoショップ?に行ってきた。 本来は修理依頼、もしくは修理期間・費用の確認をしようと思って聞いてみたわけ。 ガラケーを持ってねw もう、7、8年前の本体についての質問を割 …

HP製PCのセットアップと、VT周りのBIOS設定

年末年始にサブPCのリプレースを行った際に、HP製PC特有(?)のBIOS設定で詰まったので、メモ書き。 結論から言うと、よくネットに乗っているBIOS設定箇所にはVT関連の設定は無く、別のところにあ …


カテゴリー