【问题标题】:KendoUI Grid Decimal number columnKendo UI Grid 十进制数列
【发布时间】:2013-03-13 13:35:11
【问题描述】:

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

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

我的专栏是这样设置的:

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

我尝试了一些方法,但没有任何效果。

【问题讨论】:

    标签: jquery kendo-ui telerik kendo-grid


    【解决方案1】:

    几个问题(afaik):

    1. 列中的格式未定义为n4,而是定义为{0:n4}
    2. 格式不仅适用于数字的格式,还可能包含一些文本。例如:{0:n4} Kg.
    3. 对于数字列,不能将属性指定为decimalsstep,因此您应该定义一个编辑器函数。

    另外,我不明白你的小数和四舍五入的问题。

    我的建议是将列定义为:

    {
        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
                });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多