Kendo 编辑字段中的网格内联 Incell 编辑货币格式更改

Kendo Grid Inline Incell Editing Currency Format changes in Editing Field

我正在使用 Kendo 网格。

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

一切正常。在我的专栏 "Costs" 中,显示的值类似于“1.245,21 €”。但是当我激活 "Edit" 函数时,输入中的值已更改为“1245.21”(检查分隔符)。如果我现在将值更改为“1245.20”之类的值,该值将变为“124.520,00 €”。

因此,如果我想获得正确的值,我总是必须改回分隔符“.”。到“,”手动。我的文化设置为德语,它显示德语值并在编辑后用逗号正确解释德语拼写。但是在我打开内联编辑模式的那一刻,分隔符正在更改为带点的我们格式。

我怎样才能避免这种情况?有人有想法吗?

列属性在模型中设置为like

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

对于遇到同样问题的人。

我通过包含“~\Views\Shared\EditorTemplates”文件夹解决了这个问题。我一开始就从我的解决方案中删除了它,因为我认为这些视图只是示例,并没有想到它们实际上被使用了。格子想用里面缺少的"Currency.cshtml"