1

在我的网站中,我使用剑道网格。在该网格中,有一列“金额”包含以下值: 剑道网格中的金额列

您会看到金额前有美元符号,但我想要欧元符号。

全球化文化设置是正确的,因为当我在网格外显示金额时,它会显示带有欧元符号的金额。

我正在使用 ASP.NET MVC5 开发这个网站。在我的模型中,我有这个属性:

[DisplayFormat(DataFormatString = "{0:c}")]
public decimal Amount { get; set; }

您会看到我将字符串格式化为货币(并且我的全球化文化设置是正确的)

有人可以帮我吗?

注意:将金额转换为字符串不是一个选项,因为我必须对该列进行排序。而对于字符串,它无法像普通小数那样对数字进行排序。字符串将按 "1, 11, 2, 20, 3" 而不是 "1, 2, 3, ..." 的方式排序

4

1 回答 1

3

当您说您已包含正确的全球化设置时,您如何通过 web.config 执行此操作,例如:

  <system.web>
    <globalization culture="en-GB" uiCulture="en-GB" />
  </system.web>

或通过 C# 例如

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-GB"); 

假设这些是您为网站设置文化的方式,您是否还将相关的剑道文化脚本包含到您的网站中:

例如。

<script src="@Url.Content("~/Scripts/kendo/2015.1.511/cultures/kendo.culture.en-GB.min.js")"></script>

注意:将版本和文化设置更改为您的版本和所需的文化,例如 fr-FR、en-US 等 ,然后像这样设置包含的文化:

<script type="text/javascript">
      kendo.culture("en-GB");
</script>

注意:为您在文化脚本中指定的任何文化更改 en-GB。

这将设置所有剑道控件使用相同的文化,您不必为每个控件指定它。

有关详细信息,请参阅此链接:剑道全球化帮助

希望这会帮助你。任何问题让我知道,希望我们能找出使用 en-US 设置的原因(它是 kendo 控件的默认语言)

于 2015-05-13T16:46:02.920 回答