読者です 読者をやめる 読者になる 読者になる

DataBindにはまってしまった

今日は、VB.NETのコーディングで思いっきりはまった。
はまった内容は、こんな感じ↓。

Format関数で、DBから取得してきた項目(金額)を、
3桁のカンマ区切りに変換して、画面に表示させようとしたときに、
型がうまくキャストできず、例外(System.Format exception)
が発生してしまった。


原因としては、
DataGridにBindしたときの型に問題があったっぽい。

Web上の3桁区切りに変換するソースとかだと、
下のとおりに出てから、そのまま引用した。

 Dim str As String = ""
 Dim num As Integer = 12345
 str = Format( num , "#,##0")   ' str = "12,345" 


今回は、Format関数の第1引数に、
DBから直接引っ張ってきた項目(DBのテーブル定義では、Number型)の金額の値を渡して、
変換した値を、
画面の表示項目の変数に入れなおす、という部分で、
例外(System.Format exception)が発生した。


実際には、純粋なDataGridを使ったわけではなくて、
NetAdvantage 2005のDataGridを継承したUltaraWebGridを
使用したからなのかなー。
DataGridとかは、よくわからん部分が多いなー。


データの型とか、データバインドについて、
説明しているページは、下の2つ。
10 行でズバリ !! リレーショナルデータテーブルの構築 (VB) in VB.NET
|| Not Found ||