如何在 Kendo UI 模型定义中设置数字的小数位?

How to set the decimal places of a number in Kendo UI model defenition?

我正在使用 kendo ui 可编辑网格 NumericTextBox。通常在 NumericTextBox 中,小数位限制为两位,即如果我输入 10.135,该值将被格式化为 10.14。但我需要的是获得 10.135 本身。这里要做什么。

我的模型定义。

var GridViewModel = new kendo.data.Model.define({
    fields: {
        Name: { type: "string", editable: false },
        Weight: { type: "number", editable: true, validation: { required: true } },
    }
});

在我的视图模型中,我将网格设置为。

$("#DryingBinItemsAddedGrid").kendoGrid({
        dataSource: {
             data: DataDetails,
             schema: {
                model: GridViewModel 
             },
        },
        editable: true,
        dataBound: function () {

        },
        columns: [
               {
                   field: "Name",
                   title: "Name"
               },
               {
                   field: "Weight",
                   title: "Total Weight"
               }
        ]
   });

我没有在这个例子中提到我失败的尝试。目前我的 Weight 字段是一个包含两个字段的数字文本框。在这里要做什么才能使我的 Weight 字段成为带 3 个小数点的 NumericTextBox。

为了控制网格作为编辑器使用的NumericTextBox的配置,您需要实现自定义编辑器,否则,将使用NumericTextBox的默认配置(小数点后2位)。

尝试将您的 "Weight" 列定义更改为:

{
    field: "Weight",
    title: "Total Weight",
    editor: weightEditor
}

并添加一个实现自定义编辑器的 weightEditor 函数:

function weightEditor(container, options) {
    $('<input name="' + options.field + '"/>')
     .appendTo(container)
     .kendoNumericTextBox({
         decimals: 3,
     })
};

演示:http://dojo.telerik.com/@Stephen/uviLO