2016-11-06 3 views
0

Ich möchte VB.NET datagridview Zelle formatieren Tausendertrennzeichen mit 2 Dezimalstellen zu zeigen, wie diese 123,456,789.12 , was ich bereitsDatagridview Zellenformat Thousand Separator

DefaultCellStyle.Format = "N2" 
DefaultCellStyle.Format = "#,###.##" 

nichts funktioniert versucht haben, es zu halten ist zeigt 123.456.789,12

Hinweis: Ich fülle datagridview aus der Datenbank und ich muss Zelle Format dynamisch ändern

+1

der zweite '„#, ###. 00“überprüfen sollte', aber entweder man wird nur Arbeit auf einer Spalte mit Zahlen. Textdaten würden nicht formatiert werden, und Sie sollten das wahrscheinlich der numerischen Spalte zuweisen, damit es nicht versucht, Daten zu formatieren – Plutonix

Antwort

0

Wenn Ihre Spalte Typ von Nummer ist (wie tun uble), würde die Formatierung die Arbeit tun, egal im Bearbeitungsmodus oder nicht. Wenn Ihre Spalte Art der String-Typ ist die standardmäßig ist, shoud Sie die cellFormating Ereignis behandeln wie unten in C# einen Trick zu tun:

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"); 

     } 

    } 

dies funktioniert für mich, wie ich die Daten abrufen, wenn es aus ist die Datenbank und es scheint, dass die Datagridview als nvarchar (string) sehen

Sie dieses 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