2011-12-14 14 views
2

数字の書式を設定するためにデータグリッドでセルにカンマを自動的に追加する方法を教えてください。私はdefaultcellstyleの形式を数値に変更しようとしましたが、それは役に立たなかった。DataGridViewTextBoxColumn数値セルにカンマを追加する

ユーザーは503,412.45

UPDATEから503412.45

番号表示変更入るようにそれが何かをするために私が探しています:私はデザイン時に列の書式を設定します( VSのプロパティウィンドウを介して)。データバインドされていないため、ユーザーは手動で行を追加します。また、プロパティウィンドウの[コレクション]オプションを使用してデザイン時に列も作成されます

答えて

4

"N2"に設定すると、DefaultCellStyle.Formatがこれを行います。

dataGridView1.Columns.Add("foo", "foo"); 
dataGridView1.Columns[0].DefaultCellStyle.Format = "N2"; 
dataGridView1.Rows.Add(1234.567); // shows 1,234.57 

それはあなたのために働いていない、なぜ私は私が提案することができるすべては、あなたがそれを設定していますが、実際には持っていない考えることで、より多くの詳細がなくて推測することはできません。データバインディングを使用していますか?どのように列を追加していますか?それらは自動生成されますか?デザイン時またはランタイム時に書式を設定しますか?

+0

デザイン時に(VSのプロパティウィンドウで)フォーマットを設定しました。データバインドされていないため、ユーザーは手動で行を追加します。また、プロパティウィンドウの[コレクション]オプションを使用してデザイン時に列が作成されます – JonF

1

あなたは、列の書式プロバイダを設定する必要があり、現在のスレッドの文化(番号の桁区切り、番号のグループ・セパレータ)のソリューションの出力を独立させるには:

CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US"); 

dataGridView1.Columns[0].ValueType = typeof(decimal); 
dataGridView1.Columns[0].DefaultCellStyle.FormatProvider = ci; 
dataGridView1.Columns[0].DefaultCellStyle.Format = "N2"; 

希望、このことができます。

関連する問題