我正在使用NumericTextBox的kendo ui可编辑网格。通常在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位)。

尝试将“重量”列定义更改为:

{
    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

10-06 04:36