【问题标题】:Change number group separator in numeric columns of DataGridView更改 DataGridView 数字列中的数字组分隔符
【发布时间】:2013-03-26 09:11:03
【问题描述】:

我想以这种方式格式化数字单元格1 231 241.45。我试过N2 格式选项:

datagridview1.Columns["col1"].DefaultCellStyle.Format = "N2";

但是N2 格式使用逗号而不是空格。我想要空格作为数字组分隔符。 是否可以更改数字组分隔符?

【问题讨论】:

  • 有可能吗?你试过了吗?展示你的努力!请阅读FAQHow to Ask
  • 感谢您的回答。对我帮助很大!我想我必须使用 format.ToString("") 但不知道在里面放什么......
  • 真的吗? =)顺便说一句,这不是答案!这是一个comment
  • 您应该检查 datagrid 是否有任何 FormatProvider 选项,然后您可以滚动自己的自定义格式,例如 shown here

标签: c# .net winforms datagridview cell-formatting


【解决方案1】:

我设法使它与以下代码一起工作:

string NRFormat="### ### ##0.00"
datagridview1.Columns["col1"].DefaultCellStyle.Format = NRFormat;
datagridview1.Columns["col2"].DefaultCellStyle.Format = NRFormat;

它不是很优雅,但它正在工作。

【讨论】:

  • 虽然它适用于像 123456789.12345 这样的数字,但它不适用于像 123456789000.12345 这样的大数字。
【解决方案2】:

要更改DataGridView 中的数字组分隔符,您可以创建特定的文化,然后将其NumberFormat.NumberGroupSeparator 设置为新值,然后将DataGridViewDefaultCellStyle.FormatProvider 设置为修改后的文化:

var culture = CultureInfo.CreateSpecificCulture("en-GB");
culture.NumberFormat.NumberGroupSeparator = " ";
dataGridView1.DefaultCellStyle.FormatProvider = culture;
dataGridView1.Columns[1].DefaultCellStyle.Format = "N2";

【讨论】:

  • 因为他是Most Valuable Professional :D
【解决方案3】:

请参阅此链接以了解单元格样式格式>>

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

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

D 代表整数。

【讨论】:

  • 这不起作用。 D代表小数。每个单元格格式选项都有错误。
【解决方案4】:

你可以试试这个。

//1000001 convert to 1 000 001.00
datagridview1.Columns["col1"].DefaultCellStyle.Format = "### ### ##0.00";

//1000 convert to 1 000.00
datagridview1.Columns["col2"].DefaultCellStyle.Format = "### ### ##0.00"; 

【讨论】:

    【解决方案5】:

    在数据网格CellFormatting 事件中执行以下操作:

    private void dg_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        if (cell.Value is decimal)
        {
            e.CellStyle.Format = "0.##";
        }
    }
    

    【讨论】:

    • 无法编译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多