2013-03-23 108 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 
      }); 
}