|
■No101392 (TAKE さん) に返信
> あるネットで例えば
その情報源は、具体的にはどこでしょうか?
前後の情報に読み落としがあったとか、情報が古いといった可能性もあるので、
引用元を正しく提示して頂けると助かります。
> dataGridView1.Coloms(1).DefaultCellStyle.Format = "#,0"
.Columns(1) ではなく
.Coloms(1) なのですか?
それに、コントロール名の初期値が
DataGridView1
ではなく
dataGridView1
になっているのも、Visual Basic にしては珍しいですよね。
> にすると"1234567"が"1,234,567”となるように書いていましたが
> ならずに"1234567"で表示されます。
1234567 と "1234567" は別物です。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dataGridView1.ColumnCount = 5
dataGridView1.RowCount = 30
dataGridView1.Columns(1).DefaultCellStyle.Format = "#,0"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
dataGridView1(1, 2).Value = 1234567
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
dataGridView1(1, 2).Value = "1234567"
End Sub
End Class
画面から値を直接入力する場合に対応するには、
(1) データバインドにより、該当列のデータを数値型に割り当てておく
(2) CellParsing イベントで、.Value プロパティに対して型変換を実施し、ParsingApplied プロパティを True にする
などの方法が使えます。列単位の指定なら (1)、セル単位で型を決めたいなら (2) が良いでしょう。
|