首页 > 解决方案 > kendo ui 数字列编辑器值在记录添加时重置

问题描述

我正在尝试将数字微调器输入框添加到 Kendo UI 网格中的列。

出于某种原因,如果我“添加”一条记录dataSource并更改数值,然后“添加”另一行,所有先前添加的行中的值都设置为 1?

    $("#add-btn").click(function(){

      $("#items-grid").data("kendoGrid").dataSource.add({NAME:"Apples",QTY:1})

    })

    $("#items-grid").kendoGrid({
        height: 300,
        columns : [
            {
                field : "NAME",
                title : "Name"
            },
            {
                field : "QTY",
                title : "Qty",
                width: 140 ,
                template: "<input class='numeric' value='#: QTY #' style='width:100%'> </input>"
            }   ],
            noRecords: true, 
            dataSource: [] ,
            dataBound: function() {
                this.tbody.find(".numeric").each(function(){
                    $(this).kendoNumericTextBox({decimals: 0});
                });
            }
        });

http://jsfiddle.net/5ow4sj3b/

请指教

标签: kendo-uikendo-grid

解决方案


我的 Kendo Grid 的问题是我没有添加一个modelschema指定QTY列的“数字”类型。

没有这个,内联将numericTextBox无法正确运行

dataSource : new kendo.data.DataSource({
            data: [],
            schema: {
                model: {
                  fields: {
                     QTY: { type: "number", validation: { required: true, min: 1} }
                  }
                }
            }
         }),

推荐阅读