2013-03-23 6 views
13

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

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

Моя колонка устанавливается следующим образом:

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

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

ответ

46

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

  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 
      }); 
} 
Смежные вопросы