我有一個相當標準的BindingSource/DataGridView組合。 bindingSource具有必須在DataGridView中作爲貨幣顯示的十進制類型屬性。對於一個測試,我想看看是什麼樣子,如果我使用了一個€作爲貨幣格式,而不是£DataGridView無法顯示正確的cultureinfo
文化信息我的問題是,雖然我編程方式更改當前線程的的CurrentUICulture(我的應用程序只有一個線程),我的DataGridView仍然顯示爲£。
,我創建了下面的代碼片段設計者:
this.columnPriceValue = new Forms.DataGridViewTextBoxColumn();
this.columnPriceValue.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
this.columnPriceValue.DataPropertyName = "Value";
dataGridViewCellStyle2.Format = "C4";
...
在我的主要形式的構造函數我根據計算器的答案的CurrentUICulture設置爲荷蘭文化How to change CurrentCulture at runtime?
System.Threading.Thread.CurrentThread.CurrentUICulture =
CultureInfo.GetCultureInfo(0x0013);
因爲GBP標誌仍然顯示我在將數據添加到bindingsource之前檢查了currencySymbol:
public void ShowPrices(IEnumerable<Price> prices)
{
string txt = System.Threading.Thread.CurrentThread.CurrentUICulture.NumberFormat.CurrencySymbol;
Debug.WriteLine(txt);
this.bindingSource1.DataSource = prices;
...
調試器輸出窗口顯示€仍然是貨幣符號,但DataGridview仍顯示£。
如何讓它顯示歐元符號?
打我吧。 +1;) – OhBeWise