Ich habe eine ziemlich Standard BindingSource/DataGridView Kombination. Die bindingSource hat eine Eigenschaft vom Typ dezim, die in der DataGridView als Währung angezeigt werden muss. Für einen Test möchte ich sehen, wie es aussieht, wenn ich eine Kultur Info verwenden, die € als Währungsformat statt £DataGridView zeigt keine korrekten culturinfo
Mein Problem ist, dass, obwohl ich programmatisch ändern, um die CurrentUICulture des aktuellen Threads verwendet (Meine Anwendung hat nur einen Thread), mein DataGridView zeigt immer noch £.
Der Designer für mich den folgenden Code-Schnipsel erstellt:
this.columnPriceValue = new Forms.DataGridViewTextBoxColumn();
this.columnPriceValue.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
this.columnPriceValue.DataPropertyName = "Value";
dataGridViewCellStyle2.Format = "C4";
...
Im Konstruktor meiner Hauptform ich die CurrentUICulture der niederländischen Kultur How to change CurrentCulture at runtime? Antwort nach einem Stackoverflow gesetzt
System.Threading.Thread.CurrentThread.CurrentUICulture =
CultureInfo.GetCultureInfo(0x0013);
Weil Das GBP-Zeichen wird weiterhin angezeigt. Ich habe das currencySymbol kurz vor dem Hinzufügen der Daten zur Bindungsquelle überprüft:
Das Debugger-Ausgabefenster zeigt, dass € immer noch das Währungssymbol ist, aber das DataGridview zeigt immer noch £.
Was zu tun, damit es das Eurozeichen zeigt?
Beat mich dazu. +1;) – OhBeWise