Kendo Grid Inline Incell Editing Изменения формата валюты в поле редактирования - PullRequest
0 голосов
/ 09 апреля 2020

Я использую Kendo Grid.

@(Html.Kendo().Grid<Kosten>()
    .Name("gridKosten")
    .Columns(columns =>
    {
        columns.Bound(c => c.Costs);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Events(events => events.Error("gridError"))
        .Model(model => model.Id(c => c.Id))
        .Create(create => create.Action("Kosten_Create", "FahnenSettings"))
        .Read(read => read.Action("Kosten_RetrieveAll", "FahnenSettings"))
        .Update(update => update.Action("Kosten_Update", "FahnenSettings"))
    )
    .Editable(editable => editable
        .Mode(GridEditMode.InLine)
    )
    .ToolBar(toolbar => toolbar.Create())
)

Также я установил культуру на немецкий.

    <script src="https://kendo.cdn.telerik.com/2020.1.219/js/cultures/kendo.culture.de-DE.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2020.1.219/js/messages/kendo.messages.de-DE.min.js"></script>
    <script>
        $(function () {
            kendo.culture("de-DE");
        })
    </script>

Все работает отлично. В моем столбце «Затраты» отображается значение «1,245,21 €». Но когда я активирую функцию «Редактировать», значение на входе изменилось на «1245.21» (проверьте разделитель). Измените ли я значение сейчас на что-то вроде «1245,20», значение станет «124,520,00 €».

Так что, если я хочу получить правильное значение, мне всегда нужно возвращать разделитель "." "," вручную. Моя культура настроена на немецкий язык, она показывает немецкое значение и корректно интерпретирует орфографию немецкого языка с запятой после редактирования. Но в тот момент, когда я открываю встроенный режим редактирования, разделитель меняет нам формат с точки.

Как мне этого избежать? У кого-то есть идея?

Свойство столбца задается в модели как

[DataType(DataType.Currency)]
public decimal Costs { get; set; }

1 Ответ

0 голосов
/ 14 апреля 2020

Для тех, у кого такая же проблема.

Я решил ее, включив папку «~ \ Views \ Shared \ EditorTemplates». Я удалил его в начале из своего решения, потому что я думал, что эти Представления были только примерами и не думал, что они фактически использовались. Сетка хотела использовать отсутствующий «Currency.cs html».

...