2013-03-23 20 views
13

Ho una colonna per il peso (in Kg). Quando l'utente fa clic su di esso ho bisogno di abilitarli per essere in grado di inserire il numero decimale con 3 posizioni.Griglia KendoUI Colonna numero decimale

Il problema che ho è al momento permette solo loro di metterlo in 2 posti, ma mostra come 3 posti. È possibile digitare un numero per molti decimali, ma quando viene salvato lo arrotonda a 2 posizioni.

mia colonna è impostato in questo modo:

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

ho provato un paio di cose, ma nessuna funziona.

risposta

46

Molte domande (AFAIK):

  1. formato in colonne non è definito come n4 ma come {0:n4}.
  2. I formati non sono solo per il formato del numero ma potrebbero anche includere del testo. Es: {0:n4} Kg.
  3. Per le colonne numeriche, non è possibile specificare attributi come decimals, step quindi è necessario definire una funzione di editor.

Inoltre, non capisco i tuoi problemi con decimali e round.

Quello che suggerisco è definire le colonne come:

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

(supponendo che si desidera tre precisione decimale) e definire numberEditor come:

function numberEditor(container, options) { 
    $('<input name="' + options.field + '"/>') 
      .appendTo(container) 
      .kendoNumericTextBox({ 
       format : "{0:n3}", 
       decimals: 3, 
       step : 0.001 
      }); 
} 
Problemi correlati