2013-03-23 107 views
13

我有一列重量(千克)。当用户点击它时,我需要使它们能够放入三位数的十进制数。KendoUI网格十进制数字列

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

我列设置像这样:

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

我已经尝试了一些东西,但没有工作。

回答

46

的几个问题(据我所知):

  1. 格式列不被定义为n4{0:n4}
  2. 格式不只是数字的格式,还可能包含一些文本。例如:{0:n4} Kg.
  3. 对于数字列,不可能将属性指定为decimals,step,因此应该定义编辑器功能。

此外,我不明白你的小数和圆的问题。

我的建议是定义列如下:

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