javascript - mvc - kendo grid template
Los números de Kendo Grid truncan a 2 decimales. ¿Cómo hacer que respete lo que el usuario ingresó? (2)
La grilla de kendo ui admite cualquier formato que pueda usar al llamar a kendo.format () directamente. La documentación para eso está disponible aquí .
El formato que estás buscando es
{0:$###,###,###,###,###,###,###,###.##############}
Tendrá que rellenarlo con la cantidad de decimales que desee.
En esta demostración de Kendo Grid , si edita los números en "Unidades en Stock" y agrega varios decimales (intente 2.203848), lo truncarán a 2.20. Parece que ese es el comportamiento predeterminado.
Y sé que podemos especificar el formato decimal con {0:n4}
, por ejemplo.
Pero, ¿qué pasa si la cantidad de decimales es desconocida o puede variar? ¿Hay alguna manera de hacer que la cuadrícula use el número exacto que ingresa el usuario?
Para que esto funcione en una cuadrícula, debe usar un editor personalizado. Establezca el número de decimales en un número lo suficientemente alto y asegúrese de que su formato de campo tenga suficientes lugares. Esta gran respuesta aquí ajustada resuelve un poco su problema.
function numberEditor(container, options) {
$(''<input name="'' + options.field + ''"/>'')
.appendTo(container)
.kendoNumericTextBox({
decimals: 8,
step : 0.01
});
}
$("#grid").kendoGrid({
dataSource: dataSource,
navigatable: true,
pageable: true,
height: 550,
toolbar: ["create", "save", "cancel"],
columns: [
"ProductName",
{ field: "UnitPrice", title: "Unit Price", format: "{0:c}", width: 120 },
{ field: "UnitsInStock", title: "Units In Stock", format: "{0:0.#########}", width: 120, editor: numberEditor },
{ field: "Discontinued", width: 120 },
{ command: "destroy", title: " ", width: 150 }],
editable: true
});
});