2016-11-06 31 views
0

私はこの 123,456,789.12 のような小数点以下2桁と桁区切りを示すために、VB.NET datagridviewセルの書式を設定したい私はすでにDataGridViewのセルフォーマット桁区切り

DefaultCellStyle.Format = "N2" 
DefaultCellStyle.Format = "#,###.##" 
を試してみましたが、何

何もそれが123456789.12

を示すキープだ働いていません

注:データベースからdatagridviewを入力しています。動的にセルフォーマットを変更する必要があります。

+1

を確認することができます二つ目は 'でなければなりません「###、#。00」'が、どちらか一方のみ動作します数字の列に表示されます。テキストデータはフォーマットされません。おそらくそれを数値列に代入して、日付をそのようにフォーマットしようとはしません – Plutonix

答えて

0

カラムタイプが数字タイプの場合uble)、formatingは編集モードであってもなくても作業を行います。あなたの列の型がデフォルトである文字列型である場合は、C#で以下のようなトリックの仕事をするためにcellFormatingイベントを処理shoud :

private void DgvCellStyle_Load(object sender, EventArgs e) 

    { 

     DataTable dt = new DataTable(); 

     dt.Columns.Add("a"); 

     dt.Rows.Add(155.6565); 

     dt.Rows.Add(2342.2); 

     this.dataGridView1.DataSource = dt; 



     this.dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting); 

    } 



    void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 

    { 

     if (e.ColumnIndex == 0 && e.RowIndex != this.dataGridView1.NewRowIndex) 

     { 

      double d = double.Parse(e.Value.ToString()); 

      e.Value = d.ToString("N2"); 

     } 

    } 

それからあるように私は、データを取得、これは私の作品データベースとそれがDataGridViewのデータ型はnvarchar(文字列)としてそれを見ているようです

あなたはこのhttps://social.msdn.microsoft.com/Forums/windows/en-US/95e7e7ef-2e71-412f-abe5-ffbee2c12c18/how-to-format-datagridview-columns-to-numeric-columndefaultcellstyleformat-does-not-work?forum=winformsdatacontrols

関連する問題