datagridview列中的数字格式和显示问题

时间:2014-01-27 08:19:14

标签: c# winforms datagridview formatting

我有一个datagridview,它有一些Int数据类型的列。我想将这些列格式化为数字格式的千位分隔符。我知道该怎么做但是当我在“ AllCells ”上设置“ AutoSizeMode ”属性时,我遇到了一些问题。 表格加载后,只有4或5位数字出现,最后有三个点?! 像这样:150,000 ......而不是:150,000,000。 但是当我在“”上设置“ AutoSizeMode ”属性并将静态宽度设置为列时,显示完整数字没有问题。

2 个答案:

答案 0 :(得分:0)

尝试将DisplayedCells用作AutoSizeMode

来自MSDN

  

以下代码示例强制列自动调整其大小   宽度以适应其内容。

DataGridViewColumn column = dataGridView.Columns[2];
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

招数: Scott Hanselman撰写了一篇关于How to auto resize columns in winforms DataGrid的简单而简单的文章

答案 1 :(得分:0)

设置DefaultCellStyle属性,如下所示:

dataGridView1.Columns[1].DefaultCellStyle.Format = "#.###"

修改 我没仔细看过。尝试设置FormatProvider属性:

NumberFormatInfo nfi = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
nfi.NumberGroupSeparator = ".";
dgv1.Columns[1].DefaultCellStyle.FormatProvider = nfi;

dgv1.Columns[1].DefaultCellStyle.FormatProvider.NumberFormat.NumberGroupSeparator = ".";

如果可能,但我没有任何IDE可以检查。