0

У меня есть Kendo grid с режимом редактирования InCell и decimal столбец RATE.Кэндо глобализация: разные культуры для виджетов

@(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))) 

Проблема заключалась в том, когда я представил форму, я всегда получал null для RATE если она плавающей точкой из-за региональных настроек на моем компьютере, в случае целого числа это было нормально. Я решил проблему, добавив глобализации в Web.config:

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

Но теперь en-US культура влияет на все кендо виджеты, в частности kendo datepicker. Я пытался применить ru-RU культуру или формат для Datepicker шаблона редактора, но он не работает:

@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")) 

Итак, как я могу применить en-US культуру только мой kendo Grid?

Большое спасибо.

ответ

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> 

и вы можете форматировать числа и десятичные также.

надеюсь, что это вам поможет

Смежные вопросы