首先,我使用以下内容填充DataGridView
:
dta = New OleDbDataAdapter("Select * From [" & ActName & "$B6:E" & LastEntryRow & "]", cn)
dts = New DataSet
dta.Fill(dts, "Detailtable")
DataGridView1.DataSource = dts
DataGridView1.DataMember = "Detailtable"
然后我格式化了DataGridView,其中包含以下代码:
Dim currencyCellStyle As New DataGridViewCellStyle
currencyCellStyle.Format = "C2"
With Me.DataGridView
.Columns(1).DefaultCellStyle = currencyCellStyle
.Columns(2).DefaultCellStyle = currencyCellStyle
End with
这很好用。列显示其值为$ 1234.00。 将新值添加到列后,它们会立即显示为$ 1234.00。 (到目前为止工作)
如果在制作数据集时列没有任何值,则该列的datagridview中不会显示任何值。 (到目前为止没问题)
但是,添加到空白列的所有新值都显示为1234.00。不是$ 1234.00。
我尝试刷新DataGridView 我在更改单元格后重新格式化了DataGridView。 它仍显示为1234.00。
如果我保存更改,重新创建DataSet并重新填充DataGridView一切正常。
当新值直接添加到列时,我需要DataGridView来反映正确的格式($ 1234.00)?????
答案 0 :(得分:0)
如果您使用此行
DataGridView1.Columns(1).DefaultCellStyle.Format = "C2"
它必须有效但如果你的数据库列格式不是十进制(但是TEXT),这种格式就永远不会有效。