DataGridViewTextBoxColumn在数字单元格中添加逗号

时间:2011-12-14 18:00:43

标签: c# winforms datagridview

如何让我的数据网格自动将逗号添加到单元格以格式化数字。我尝试将defaultcellstyle的格式更改为数字,但它没有帮助。

我正在寻找像

这样的东西

用户输入503412.45

数字显示变为503,412.45

UPDATE :我在设计时设置了列的格式(通过VS中的属性窗口)。它不是数据绑定,用户手动添加行。通过使用属性窗口中的“集合”选项

,还可以在设计时创建列

2 个答案:

答案 0 :(得分:4)

DefaultCellStyle.Format设置为“N2”将执行此操作。

dataGridView1.Columns.Add("foo", "foo");
dataGridView1.Columns[0].DefaultCellStyle.Format = "N2";
dataGridView1.Rows.Add(1234.567); // shows 1,234.57

我无法猜测为什么没有更多细节它不适合你,所以我所能建议的是你你已经设定了但实际上没有。你在使用数据绑定吗?你是如何添加列的?它们是自动生成的吗?您是在设计时还是运行时设置格式?

答案 1 :(得分:2)

要使解决方案的输出独立于当前线程的文化(数字小数点分隔符,数字组分隔符),您必须为列设置格式提供程序:

CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");

dataGridView1.Columns[0].ValueType = typeof(decimal);
dataGridView1.Columns[0].DefaultCellStyle.FormatProvider = ci;
dataGridView1.Columns[0].DefaultCellStyle.Format = "N2";

希望,这有帮助。