【问题标题】:Telerik MVC Grid - Format number to Indian display formatTelerik MVC Grid - 将数字格式设置为印度显示格式
【发布时间】:2011-10-27 03:20:02
【问题描述】:

我正在努力让 Telerik MVC Grid 显示根据印度标准格式化的数字。基本上,我有一个数字,例如 - 55555555555,我希望 Telerik MVC 网格将其显示为 55,55,55,55,555。所以我尝试使用模式“##,##,##,##,###”。这对上面的例子很有效。但是,如果我使用 555555555(比前面的示例少两个 5),那么它将显示为 555,555,555 而不是 55,55,55,555。我不确定为什么会这样。 如何根据开头提到的印度数字格式获得 Telerik MVC 网格显示数字?

【问题讨论】:

  • 您不能为此使用印度文化信息,而不是指定格式字符串吗?想一想,为什么要印度格式?因为你所有的用户都是印度人?如果某些用户可能不是印度人,那么也许您应该使用用户的文化。
  • @phoog,我已经将文化设置为印度,如果我使用格式“{0:n0}”(不是来自 Telerik mvc 网格)在我的网页中显示一个数字,那么这个数字是格式正确。但是在 Telerik MVC 网格中,无法识别格式“{0:n0}”,它只显示“n55555555555”而不是格式化数字。所以我不得不求助于使用 # 占位符的自定义格式。所以简而言之,我只能在 Telerik MVC 网格之外让数字格式在印度文化中工作。在网格中,我仍然对如何格式化数字感到困惑。

标签: c# asp.net-mvc telerik telerik-mvc


【解决方案1】:

您可以通过在网格本身上设置 .Localizable("hi-IN") 来本地化网格上的所有值。

Telerik MVC Grid Localization

【讨论】:

  • 我尝试了您的建议,但网格无法识别格式“{0:n0}”。如果我使用“{0:n}”作为格式,我仍然会得到由千位分隔符格式化的数字,而不是印度格式。无论如何,我不能使用“{0:n}”,因为它也显示小数。感谢您的回复。
  • 另一种选择是在控制器中进行格式化并将完整的字符串传递给网格。
  • 卢克,控制器中的格式可以工作,但我对使用“#”和“,”的自定义格式有点困惑。它似乎并没有以明显的方式工作。正如我的问题中所指出的,为什么“#”和“,”不起作用。在我看来,自定义格式是解决这个问题的正确方法,这就是我倾向于使用它的原因。唯一的问题是它没有按我预期的方式工作。
  • 如果在控制器中格式化,可以使用本地化代替自定义格式化--value.ToString("n0", CultureInfo.GetCultureInfo("hi-IN"));
  • @Daniel,即使我在 Controller 中进行格式化,我也无法对 Telerik Grid 的客户端页脚模板的“计数”和“总和”执行相同的操作。 Count 和 Sum 是仅在客户端(即 javascript 代码)中可用的聚合。我无法在我的控制器中格式化这些。简而言之,我可以格式化一些使用控制器显示的值,但对于某些值(由 Telerik 计算),我无法控制其格式,接受将格式字符串传递给 Telerik 代码。
【解决方案2】:

https://github.com/jquery/globalize#format 提供了一个 jquery 全球化插件。这使得格式化任务变得非常容易,特别是如果要在客户端完成格式化。

问候, 涅槃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2019-08-06
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多