VB2008 DefaultCellStyle.Format の設定が反映されない
DataGridView で、小数点以下2桁を表示させたいのですが、うまくいきません。
Protected Sub InitializeControlDataGridView_dgvXyz()
Try
With Me.dgvGosa()
.Dock = DockStyle.Fill
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None
' 初期化
.DataSource = Nothing
' 列幅の設定
.Columns(EnumColOrder.Feed).Width = 100
.Columns(EnumColOrder.StartPoint).Width = 150
.Columns(EnumColOrder.MidPoint).Width = 150
.Columns(EnumColOrder.EndPoint).Width = 150
Me.InitializeControlDataGridView_dgvXyzHeaderText()
' 表示フォーマットの設定
.Columns(EnumColOrder.StartPoint).DefaultCellStyle.Format = "F2"
.Columns(EnumColOrder.MidPoint).ValueType = GetType(Double)
.Columns(EnumColOrder.MidPoint).DefaultCellStyle.Format = "#,##0.00"
.Columns(EnumColOrder.EndPoint).DefaultCellStyle.Format = "N2"
後略
Protected Function GetDataSource() As DataSet
Try
(中略)
Dim addRow As DataRow = dataTable.NewRow
addRow(EnumColOrder.Feed) = record.RNo
addRow(EnumColOrder.StartPoint) = CType(record.XCoordinates, Double)
addRow(EnumColOrder.MidPoint) = CType(record.YCoordinates, Double)
addRow(EnumColOrder.EndPoint) = CType(record.ZCoordinates, Double)
dataTable.Rows.Add(addRow)
ぐぐってみたところ、DefaultCellStyle
は値がstring
では反映されないとのことで、Double
にキャストしている(つもり)なんですが、表示結果は小数点以下を表示しません。
たぶん初歩的なところで間違っていると思いますので、コメントいただける方、よろしくお願いします。