|
■No47443 (JIN さん) に返信
> DataGridView1.Columns(0).DefaultCellStyle.Format = "c"
> という指定を行えば、金額表示ができると聞いたのですが、それでも何も変化は無く、数字のままでした。
当方では、問題無く書式化されました。
その列のデータ型(Oracle の型では無く、DataTable 側の型)が、
String になっていたりはしませんか?
Public Class Form1
Private tbl As DataTable
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
tbl = New DataTable()
tbl.Columns.Add("ID", GetType(Integer)).ReadOnly = True
tbl.Columns.Add("価格", GetType(Decimal))
tbl.Columns.Add("数量", GetType(Short))
tbl.Columns.Add("小計", GetType(Decimal), "価格*数量")
tbl.Columns.Add("合計", GetType(Decimal), "SUM(小計)")
tbl.PrimaryKey = New DataColumn() {tbl.Columns("ID")}
tbl.Rows.Add(1, 12345, 300)
tbl.Rows.Add(2, 34567, 200)
tbl.Rows.Add(3, 56789, 100)
tbl.Rows.Add(4, 300, 12345)
tbl.Rows.Add(5, 200, 12345)
tbl.Rows.Add(6, 100, 12345)
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = tbl
DataGridView1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
DataGridView1.Columns(1).DefaultCellStyle.Format = "c"
DataGridView1.Columns(2).DefaultCellStyle.Format = "#,0"
DataGridView1.Columns(3).DefaultCellStyle.Format = "c"
DataGridView1.Columns(4).DefaultCellStyle.Format = "c"
DataGridView1.AutoResizeColumns()
End Sub
End Class
|