datagridview不显示货币格式

时间:2014-01-11 12:16:52

标签: vb.net datagridview

首先,我使用以下内容填充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)?????

1 个答案:

答案 0 :(得分:0)

如果您使用此行

DataGridView1.Columns(1).DefaultCellStyle.Format = "C2"

它必须有效但如果你的数据库列格式不是十进制(但是TEXT),这种格式就永远不会有效。