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

本文关键字:添加 单元格 数字 DataGridViewTextBoxColumn | 更新日期: 2023-09-27 18:17:57

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

我想让它做一些类似

的事情

用户输入503412.45

号码显示变为503,412.45

UPDATE:我在设计时设置了列的格式(通过VS中的属性窗口)。它不是绑定的,用户手动添加行。还可以在设计时使用属性窗口

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

中的Collections选项创建列。

DefaultCellStyle.Format设置为"N2"将做到这一点。

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

如果没有更多的细节,我猜不出为什么它不适合你,所以我只能建议你认为设置好了,但实际上并没有。您正在使用数据绑定吗?如何添加列呢?它们是自动生成的吗?是否在设计时或运行时设置格式?

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

CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
dataGridView1.Columns[0].ValueType = typeof(decimal);
dataGridView1.Columns[0].DefaultCellStyle.FormatProvider = ci;
dataGridView1.Columns[0].DefaultCellStyle.Format = "N2";

希望有帮助。