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