19

重量(Kg)の列があります。ユーザーがそれをクリックすると、3桁の10進数を入力できるようにする必要があります。

私が抱えている問題は、現時点では2つの場所にしか配置できないことですが、3つの場所として表示されます。小数点以下の桁数まで数値を入力できますが、保存すると2桁に丸められます。

私のコラムは次のように設定されています。

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

私はいくつかのことを試しましたが、どれもうまくいきません。

4

1 に答える 1

58

いくつかの質問(afaik):

  1. 列のフォーマットはとしてではなくn4、として定義され{0:n4}ます。
  2. 形式は、数値の形式だけでなく、テキストも含まれる場合があります。元:{0:n4} Kg.
  3. 数値列の場合、属性をとして指定することはできdecimalsないstepため、エディター関数を定義する必要があります。

また、小数や四捨五入の問題もわかりません。

私が提案するのは、列を次のように定義することです。

{
    field: "weight",
    title: "Weight",
    width: 40,
    editor: numberEditor,
    format: '{0:n3} Kg.'
}

(小数点以下3桁の精度が必要であると想定)、次のように定義numberEditorします。

function numberEditor(container, options) {
    $('<input name="' + options.field + '"/>')
            .appendTo(container)
            .kendoNumericTextBox({
                format  : "{0:n3}",
                decimals: 3,
                step    : 0.001
            });
}
于 2013-03-24T19:04:13.590 に答える