Кендо сетка усекает десятичные дроби - PullRequest
1 голос
/ 20 января 2020

Как предотвратить округление этого значения и только 2 десятичных знака? Я пытался это, но не работает,

<div id="grid"></div>
<script>
$("#grid").kendoGrid({
  columns: [ {
    field: "colTwo",
    format: "{0:n2}",
    editor: amountE
  } ],
  filterable: true,
  dataSource: [ { colTwo: 0.377941} ]
});

function amountE(container, options) {
  $('<input name="' + options.field + '"/>')
    .appendTo(container)
    .kendoNumericTextBox({
    decimal: 1,
    round: false,
    //format: "{0:n2}",
  })
}

1 Ответ

1 голос
/ 20 января 2020

Как предотвратить округление этого значения?

Попробуйте Это

Введя формат "{0: n2}", внутри таблицы вы просим округлить до двух десятичных знаков. Измените формат, чтобы получить исходное значение или другие раунды.

$("#grid").kendoGrid({
  columns: [ {
    field: "colTwo",
    format: "{0}"
  } ],
  filterable: true,
  dataSource: [ { colTwo: 0.377941} ]
});
<!DOCTYPE html>
<html>
<head>
    <base href="http://demos.telerik.com/kendo-ui/datepicker/index">
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
    <title></title>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.default.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.default.mobile.min.css" />

    <script src="https://kendo.cdn.telerik.com/2017.2.621/js/jquery.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.all.min.js"></script>
</head>
<body>
  
<div id="grid"></div>
</body>
</html>

А можно отобразить только 2 десятичных знака?

В этом случае я рекомендую использовать шаблоны по усечение значения. По этой ссылке вы можете найти примеры того, как усечь значение в javascript (без округления). В это вместо этого, как это сделать без использования библиотеки Math.

$("#grid").kendoGrid({
  columns: [ {
    field: "colTwo",
    format: "{0}",
    template: '#= (((colTwo * 100)|0)/100) #'

  } ],
  filterable: true,
  dataSource: [ { colTwo: 0.377941} ]
});
<!DOCTYPE html>
<html>
<head>
    <base href="http://demos.telerik.com/kendo-ui/datepicker/index">
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
    <title></title>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.default.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.default.mobile.min.css" />

    <script src="https://kendo.cdn.telerik.com/2017.2.621/js/jquery.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2017.2.621/js/kendo.all.min.js"></script>
</head>
<body>
  
<div id="grid"></div>
</body>
</html>

Додзё здесь .

...