KendoUI Grid十进制数列

时间:2013-03-23 20:20:36

标签: jquery kendo-ui telerik kendo-grid

我有一个重量列(以公斤为单位)。当用户点击它时,我需要让它们能够输入带有3个位置的十进制数字。

我遇到的问题是目前只允许他们把它放到2个地方,但显示为3个地方。您可以输入一个数字到多个小数位,但是当它保存时,它会将它四舍五入到位。

我的专栏设置如下:

...
{
        field: "weight",
        title: "Weight",
        width: 40,
        format: "n4",
        decimals: 4,
        step: 0.001,
        template: "#= weight.toFixed(3)+'kg' #"
}
...

我尝试了一些但没有工作的东西。

1 个答案:

答案 0 :(得分:53)

几个问题(afaik):

  1. 列中的格式未定义为n4,而是定义为{0:n4}
  2. 格式不仅仅是数字的格式,还可能包含一些文本。例如:{0:n4} Kg.
  3. 对于数字列,无法将属性指定为decimalsstep,因此您应该定义编辑器功能。
  4. 另外,我不明白你的小数和圆形问题。

    我建议将列定义为:

    {
        field: "weight",
        title: "Weight",
        width: 40,
        editor: numberEditor,
        format: '{0:n3} Kg.'
    }
    

    (假设您需要三位小数精度)并将numberEditor定义为:

    function numberEditor(container, options) {
        $('<input name="' + options.field + '"/>')
                .appendTo(container)
                .kendoNumericTextBox({
                    format  : "{0:n3}",
                    decimals: 3,
                    step    : 0.001
                });
    }