【问题标题】:DataGridView Format Decimal Values with AutoGenerateColumnsDataGridView 使用 AutoGenerateColumns 格式化十进制值
【发布时间】:2012-04-03 15:28:08
【问题描述】:

我有一个在 winforms 中使用 AutoGenerateColumns 的 datagridview。有一个日期列,然后是 1-16 个包含数值的数据列。我希望将所有这 1-16 个数据列格式化为 4 个小数位。

As per this post,您通过设计器设置 DefaultCellStyle。我手动执行此操作以获得我想要使用的格式。我在表单构造函数中设置了这个:

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

我尝试过这样设置,并且还尝试在 DataBindingComplete 事件的每一列上手动进行设置。 什么都没有发生!应用程序滞后,好像它正在进行舍入,但没有。

另外,是否有指向 msdn 或带有 DefaultCellStyle 格式列表的链接?没找到。

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

【问题讨论】:

    标签: c# winforms datagridview decimal-point


    【解决方案1】:

    你想要的 MSDN 页面是Standard Numeric Format Strings

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

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

    您的数据源上数字属性的实际类型是什么?你确定不是字符串?你是如何填充 DataGridView 的?

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

    【讨论】:

    • 啊,很好,@IgbyLargeman。似乎数据表最初使用的是 Decimal 值,但在我的代码中某处被更改为字符串。谢谢!
    • 另外,感谢那个 MSDN 页面,整个上午都在寻找这个页面!哈哈
    • 总是在我的浏览器历史记录中。 :)
    • 哈哈哈我明白为什么了。在 xD 附近非常方便
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 2011-09-24
    • 2015-10-11
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多