如何让我的数据网格自动将逗号添加到单元格以格式化数字。我尝试将defaultcellstyle的格式更改为数字,但它没有帮助。
我正在寻找像
这样的东西用户输入503412.45
数字显示变为503,412.45
UPDATE :我在设计时设置了列的格式(通过VS中的属性窗口)。它不是数据绑定,用户手动添加行。通过使用属性窗口中的“集合”选项
,还可以在设计时创建列答案 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";
希望,这有帮助。