2013-03-23 18 views
13

私は重量(Kg単位)の列を持っています。ユーザーがクリックすると、3桁の10進数で入力できるようにする必要があります。KendoUIグリッド10進数の列

私が抱えている問題は、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と指定することはできません。したがって、エディタ機能を定義する必要があります。

また、小数点以下の桁数の問題についてはわかりません。

私は何を示唆するよう列を定義である:(あなたは小数点以下3桁の精度を必要と仮定して)

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