Kendo Grid列格式在编辑器中没有兑现

时间:2018-01-05 15:12:26

标签: kendo-ui kendo-grid

演示:https://api.slack.com/apps(或https://dojo.telerik.com/OJOmaS

假设:

field: "salary",
format: "{0:n0}", -this means 0 decimals

Salary字段是可编辑的,并且始终显示0位小数(整数)。

用户可以输入99.123456 ...并且该字段将显示99,到目前为止一直很好。

问题:

当用户点击该字段再次编辑时,该字段显示为99.12,为什么?无法定义2位小数的格式。

第二个问题是,当我读取数据时,薪水也是99.12(见截图附件)。无论我将格式更改为编辑器总是显示2位小数。为什么?

重现问题的步骤:

  1. 点击Salary Cell

  2. 输入99.1232343245

  3. 再次单击Salary Cell并注意数字99.12(同样在控制台中,薪水值为99.12)但字段格式为n0(无小数

  4. http://jsfiddle.net/xfxwukqf/

1 个答案:

答案 0 :(得分:1)

在您的情况下,它会考虑将格式应用于网格单元格值。在编辑模式下,格式似乎不会延续到该单元格的编辑器。也许这是由设置??

控制的

与此同时,您可以使用下面的代码作为解决方法,并将kendoNumericTextBox放入单元格的编辑器模板中,并将其绑定到容器。您可以在编辑模式下指定无小数。这可能是也可能不是你想象的。 ...

{ field: "name" },
    {
      field: "salary",
      format: "{0:n0}",
      editor:customSalaryEdior
    }

...

function customSalaryEdior(container, options) {
    $('<input id="' +  kendo.guid() + '" name="Salary" data-bind="value:salary">')
          .appendTo(container)
          .kendoNumericTextBox({
              decimals: 0,
              min: 0,
              format: 'n0'
           });
}