0

我打赌我看起来不太好,但我似乎找不到以下问题的答案:

我有一个 Datagrid,它将显示多个带有数字的列,有些列将超过千位,但我似乎无法让它显示小数分隔符,我将数字保存为十进制值,但它不会显示它。

感谢您花时间看我的问题:)

编辑:这是关于在 Windows 窗体的数据网格中显示它

4

2 回答 2

3

尝试Format在您的DataGridTextBoxColumn. 您所追求的格式大概是"N0",它显示千位分隔符但没有小数位。

 DataGridTextBoxColumn textColumn = new DataGridTextBoxColumn();
 textColumn.HeaderText = "My Numbers";
 textColumn.ReadOnly = true;
 textColumn.Format = "N0";
 text

编辑:如果您希望您的数字始终保持一致的格式,无论运行应用程序的机器的文化如何,那么您也应该设置FormatInfo

CultureInfo用于计算机确定实际货币格式。您可以通过将属性设置为使用适当的文化 ID 构造的新实例来更改CultureInfofor a 。DataGridTextBoxColumnFormatInfoCultureInfo

例如,如果您在德国并且总是希望千位分隔符显示为句点(例如12.345.678)而不是逗号(例如12,345,678),请使用:

 textColumn.FormatInfo = new CultureInfo("de-DE");

您可以通过在启动时设置Application.CurrentCulture属性来更改整个应用程序的文化,从而获得更好的一致性。

于 2012-05-05T22:14:22.773 回答
0

对于 DataGridView,其 DataGridViewTextBoxColumn 没有 Format 属性,我们需要设置格式如下:

var col = new DataGridViewTextBoxColumn();
var colFormat = new DataGridViewCellStyle();
colFormat.Format = "N0";
col.DefaultCellStyle = colFormat;
于 2019-11-16T09:32:28.643 回答