Kendo ui 将剑道网格字段中的数值格式化为十进制问题

Kendo ui 将剑道网格字段中的数值格式化为十进制问题,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我需要以十进制(2)格式显示kendoGrid中的数字。但到目前为止,一切似乎都不起作用。所以我需要帮助理解原因。我搜索了论坛,但搜索结果很简单 '将类型字段设置为数字并使用格式:“{0:n2}”'无效。我从JSON获取数据,其中字段值有许多小数。所以我希望它们在我的肯多格里只有2个小数 这是我的代码,我的失败尝试让它工作 var gridStavke = $("#gridItems").kendoGrid({ scrollable: true, sortab

我需要以十进制(2)格式显示kendoGrid中的数字。但到目前为止,一切似乎都不起作用。所以我需要帮助理解原因。我搜索了论坛,但搜索结果很简单 '将类型字段设置为数字并使用格式:“{0:n2}”'无效。我从JSON获取数据,其中字段值有许多小数。所以我希望它们在我的肯多格里只有2个小数

这是我的代码,我的失败尝试让它工作

var gridStavke = $("#gridItems").kendoGrid({
         scrollable: true,
         sortable: true,
         resizable: true,
         dataSource: {
          schema: {
            model: {

                fields: {

                    PDV25 : { type : "number" },
                    PDV3 : { type : "number" },
                    PDV28 : { type : "number" }
                }
            }
        }
    },
        height: $(document).height() - 190,          
        columns: [
            {field: "product", title: "Product"},
            {field: "price", title: "Price"},
            {field: "base", title: "Base"},
            {field: "count", title: "Count",footerTemplate:"total"},
            {field: "PDV25", title: "PDV 25%",format:"{0:n2}"},
            {field:"PDV3",title:"PDV 3%",format:"{0:n2}", editor:function(container,options){$('<input />').appendTo(container).kendoNumericTextBox({format:"n",decimals:2});}},
            {field: "PDV28", title: "PDV 28%", editor:numberEditor}

        ]

    }).data("kendoGrid");
    function numberEditor(container, options) {
$('<input name="' + options.field + '"/>')
        .appendTo(container)
        .kendoNumericTextBox({
            format  : "{0:n2}",
            decimals: 2,
            step    : 0.01
        });
}

编辑:我找到了问题的解决办法。我需要在{field…}参数中添加模板:'#=parseFloat(namefield).toFixed(2)#'。

您遇到了这个问题,因为您没有设置正确的json数据源。在Json中,双引号(“”)中的值表示字符串而不是数字, 数字应不带引号(“”)。这就是为什么数字格式不适用于它。因此,更改json,它就会工作

有效的json应该如下所示:

 "data":[
        {
            "product":"Med",
            "price":40.3,
            "count":"1",
            "base":238.42628640776698,
            "PDV25":8.059999999999999,
            "PDV28":54.68750000000001,
            "PDV3":0.32621359223300966
        },..
]

您遇到这个问题是因为您没有设置正确的json数据源。在Json中,双引号(“”)中的值表示字符串而不是数字, 数字应不带引号(“”)。这就是为什么数字格式不适用于它。因此,更改json,它就会工作

有效的json应该如下所示:

 "data":[
        {
            "product":"Med",
            "price":40.3,
            "count":"1",
            "base":238.42628640776698,
            "PDV25":8.059999999999999,
            "PDV28":54.68750000000001,
            "PDV3":0.32621359223300966
        },..
]

我在javascript=)中使用了parseFloat,现在我真的不知道如何更改json输出。需要更多地了解它。您在服务器端使用的是哪种技术/语言?我在javascript=)中使用了parseFloat,我现在真的不知道如何更改json输出。需要更多地了解它。您在服务器端使用的是哪种技术/语言?