我有一个使用DataGridView的VB.NET Windows窗体应用程序。我希望找到一种简单的方法来将某些DataGridView单元格的数字格式化为三位小数。到目前为止,这是我所做的,但它似乎不能正确地格式化所有内容。
DataGridView1.Columns(3).DefaultCellStyle.Format = "#.###"
我有一个使用DataGridView的VB.NET Windows窗体应用程序。我希望找到一种简单的方法来将某些DataGridView单元格的数字格式化为三位小数。到目前为止,这是我所做的,但它似乎不能正确地格式化所有内容。
DataGridView1.Columns(3).DefaultCellStyle.Format = "#.###"
DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Ascending)
或者
DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Descending)
只需替换:
DataGridView1.Columns(3).DefaultCellStyle.Format = "#.###"
作者:
DataGridView1.Columns(3).DefaultCellStyle.Format = "N3"
"N3"
表示带有三位小数的数字数据。如果所有列都要使用 "N3"
,您可以一次性完成:
DataGridView1.DefaultCellStyle.Format = "N3"
你也可以应用一般的单元格对齐方式到数据网格中的所有单元格,例如:
DataGridView1.DefaulCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
我也遇到了同样的问题,但我的代码是:
for R = 0 to DataGridView1.rows.count-1
DataGridView1.rows(r).cells(3).value=math.round(DataGridView1.rows(r).cells(3).value,2)
Next
R
是 DataGridView1 的当前行,3 是你的列。
我曾经将 DataGridView 单元格四舍五入到“2”个小数位,现在问题已经解决了 :)
希望能对你有所帮助 :)
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.DataGridView1.Columns.Add("TEST", "TEST")
DataGridView1.Columns("TEST").DefaultCellStyle.Format = "N2"
DataGridView1.Columns("TEST").ValueType = GetType(Decimal)
End Sub