Подтвердить что ты не робот

KendoUI Grid Десятичное число столбцов

У меня есть столбец для веса (в Kg). Когда пользователь нажимает на нее, мне нужно включить их, чтобы они могли ввести десятичное число с тремя местами.

Проблема, с которой я сталкиваюсь, заключается в том, что она только позволяет им помещать ее в 2 места, но показывает как 3 места. Вы можете ввести число до нескольких знаков после запятой, но когда оно будет сохранено, оно будет округлено до 2-х мест.

Мой столбец настроен так:

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

Я пробовал несколько вещей, но никто не работает.

4b9b3361

Ответ 1

Несколько вопросов (afaik):

  • Формат в столбцах не определен как n4, а как {0:n4}.
  • Форматы не только для формата номера, но также могут содержать некоторый текст. Пример: {0:n4} Kg.
  • Для числовых столбцов невозможно указать атрибуты как 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
            });
}