我有一个使用 datagridview 的 vb.net Windows 窗体应用程序。我希望找到一种简单的方法来格式化某些 datagridview 单元格数字,最多保留 3 位小数。这是我到目前为止所做的,但似乎并没有正确格式化所有内容。
DataGridView1.Columns(3).DefaultCellStyle.Format = "#.###"
你尝试过这个吗?
DataGridView1.Columns(2).DefaultCellStyle.Format = "N3"
其中“2”是列号(0 是第一列),“N3”表示小数点后 3 位。
这个也可能有帮助:
尝试一下
DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Ascending)
或
DataGridView1.Sort(DataGridView1.Columns(2), System.ComponentModel.ListSortDirection.Descending)
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
我也有同样的问题。但我的代码是:
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”位小数,并解决了问题:)
希望能有所帮助:)
只需更换:
DataGridView1.Columns(3).DefaultCellStyle.Format = "#.###"
作者:
DataGridView1.Columns(3).DefaultCellStyle.Format = "N3"
其中
"N3"
表示保留三位小数的数值数据。如果所有列都是 "N3"
,您可以使用以下命令立即完成:
DataGridView1.DefaultCellStyle.Format = "N3"
您还可以对数据网格中的所有单元格应用常规单元格对齐方式,例如:
DataGridView1.DefaulCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
最后,您还可以在 DataGridView 属性窗口中使用 DataGridViewCellStyle 框下的 Format 选项定义常规(所有列)数字格式。
正如你所看到的,这里不需要循环,而样式定义并不具体。