DataGridView使用自动生成列设置十进制值格式

本文关键字:十进制 格式 设置 自动生成 DataGridView | 更新日期: 2023-09-27 18:29:57

我有一个数据网格视图,它在winforms中使用自动生成列。有一个日期列,然后有1-16个包含数值的数据列。我希望所有这些1-16个数据列都被格式化为小数点后4位。

根据这篇文章,您通过设计器设置了DefaultCellStyle。我手动这样做是为了得到我想要使用的格式。我在表单构造函数中设置了这个:

this.dgv_PreviewGrid.DefaultCellStyle.Format = "N4";

我尝试过以这种方式设置它,也尝试过在DataBindingComplete事件的每一列上手动设置它什么都没发生该应用程序滞后,好像在进行舍入,但没有。

此外,是否有指向msdn的链接或带有DefaultCellStyle格式列表的内容?找不到他们。

编辑:我发现使用格式"D4"而不是"N4"(十进制与数字)-->可能是我想要的格式,但它仍然不起作用。

DataGridView使用自动生成列设置十进制值格式

您想要的MSDN页面是标准数字格式字符串。

您需要N或F格式说明符,而不是D.D表示整数。

设置网格。DefaultCellStyle.Format应该有效,但由于您有一个日期列,您需要覆盖该列的DefaultCellStyle,否则日期将不会显示。

数据源上数字属性的实际类型是什么?你确定这不是一根绳子吗?如何填充DataGridView?

如果没有更多的信息,就很难猜出这个问题。如果显示填充DataGridView的代码,可能会有所帮助。