2014-01-27 34 views
0

我有一個datagridview它有一些與Int數據類型的列。我想將這些列的格式設置爲使用千位分隔符格式化的數字。我知道該怎麼做,但當我在「AllCells」上設置「AutoSizeMode」屬性時,我遇到了一個問題。 表單加載後,只有4或5位數字出現在最後三個溺愛?! 像這樣:150,000 ...而不是:150,000,000。 但是,當我在「」上設置「AutoSizeMode」屬性並將靜態寬度設置爲列時,顯示完整數字沒有任何問題。datagridview的列中的數字格式和顯示問題

回答

0

嘗試使用DisplayedCells作爲AutoSizeMode

MSDN

下面的代碼示例強制列自動調整其 寬度以適應其內容。

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

絕招:斯科特Hanselman在寫了一篇關於How to auto resize columns in winforms DataGrid

+0

對不起,但它不工作!我仍然有同樣的問題! – Farhood

+0

試試這篇文章中的技巧,我發現它很有趣。 – SidAhmed

0

一個beauriful和簡單的文章設置你的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附近的任何地方檢查。

+0

它根本不起作用,我需要一千個分隔符! – Farhood

+0

我更新了我的答案,現在就試試。 – Tarec