【问题标题】:Kendo globalization: different cultures for widgets剑道全球化:小部件的不同文化
【发布时间】:2014-10-23 10:35:56
【问题描述】:

我有一个Kendo gridInCell 编辑模式和decimalRATE

  @(Html.Kendo().Grid(Model.ContractCurrencyClauses)
                          .Name("ContractCurrencyClauses")
                          .Columns(columns =>
                          {
                              columns.Bound(p => p.RATE).ClientTemplate("...").Width(200);                                  
                          })

                        .Editable(editable => editable.Mode(GridEditMode.InCell))
                        .DataSource(dataSource =>
                                                dataSource.Ajax()
                                                .Model(model =>
                                                {
                                                     model.Id(u => u.CONTRACT_ID);
                                                })
                                                .ServerOperation(false)))

问题是当我提交表单时,我总是得到nullRATE,如果它是浮点数,因为我的PC 上的区域设置,如果是整数就可以了。我通过在 Web.config 中添加全球化解决了这个问题:

    <globalization culture="en-US" uiCulture="ru-RU" />

但现在en-US 文化会影响所有剑道小部件,特别是kendo datepicker。我尝试为 datepicker 编辑器模板应用 ru-RU 文化或格式,但它不起作用:

@model DateTime?
<script src="~/scripts/kendo/cultures/kendo.culture.ru-ru.min.js"></script>
@(Html.Kendo().DatePickerFor(m => m).Culture("ru-RU").Format("dd.MM.yyyy"))

那么,我怎样才能只为我的kendo Grid 应用en-US 文化?

非常感谢。

【问题讨论】:

    标签: asp.net-mvc kendo-ui globalization kendo-asp.net-mvc culture


    【解决方案1】:

    你可以使用类似的东西

    <script>
         kendo.culture("en-GB");
         var culture = kendo.culture();
         culture.calendar.patterns.d = "dd MMM yyyy"; // short date pattern
         culture.calendar.patterns.D = "dd MMM yyyy"; // long date pattern
         culture.calendar.patterns.t = "HH:mm"; // short time pattern
         culture.calendar.patterns.T = "HH:mm"; // long time pattern
         culture.calendar.patterns.g = "dd MMM yyyy HH:mm";
         culture.calendar.patterns.G = "dd MMM yyyy HH:mm";
         culture.numberFormat.currency.symbol = "$";
    </script>
    

    你也可以格式化数字和小数。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多