Search results

Restrict to type decimal points in a NumericTextBox while editing the numeric column in JavaScript TreeGrid control

By default, the number of decimal places will be restricted to two in the NumericTextBox while editing the numeric column. We can restrict to type the decimal points in a NumericTextBox by using the validateDecimalOnType and decimals properties of NumericTextBox.

In the below demo, while editing the row we have restricted to type the decimal point value in the NumericTextBox of Price column.

Source
Preview
index.ts
index.css
index.html
import { TreeGrid, Edit, Toolbar } from "@syncfusion/ej2-treegrid";
import { stackedData } from './datasource.ts';

TreeGrid.Inject(Edit, Toolbar);

let treegrid: TreeGrid = new TreeGrid({
  dataSource: stackedData,
  childMapping: "subtasks",
  treeColumnIndex: 1,
  height: 265,
  editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true },
  toolbar: ["Add", "Delete", "Update", "Cancel"],
  columns: [
    { field: "orderID", headerText: "Order ID", textAlign: "Right", isPrimaryKey: true, width: 70 },
    { field: "orderName", headerText: "Order Name", width: 100 },
    { field: "orderDate", headerText: "Order Date", textAlign: "Right", width: 100, editType: "datepickeredit",
      format: { skeleton: "yMd", type: "date" } },
    { field: "shippedDate", headerText: "Shipped Date", textAlign: "Right", width: 100,
      editType: "datepickeredit", format: { skeleton: "yMd", type: "date" } },
    { field: "shipMentCategory", headerText: "Shipment Category", textAlign: "Right", width: 100 },
    { field: "units", headerText: "Units", width: 90, editType: "numericedit" },
    { field: "price", headerText: "Price", width: 90, editType: "numericedit",
      edit: {
        params: {
          validateDecimalOnType: true,
          decimals: 0,
          format: "N"
        }
      }
    }
  ]
});
treegrid.appendTo("#TreeGrid");
#container {
    visibility: hidden;
}

#loader {
  color: #008cff;
  font-family: 'Helvetica Neue','calibiri';
  font-size: 14px;
  height: 40px;
  left: 45%;
  position: absolute;
  top: 45%;
  width: 30%;
}
<!DOCTYPE html>
<html lang="en">

<head>
    <title>EJ2 Grid</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Typescript Grid Control" />
    <meta name="author" content="Syncfusion" />
    <link href="index.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-grids/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-treegrid/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-popups/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-navigations/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-dropdowns/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-lists/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-inputs/styles/material.css" rel="stylesheet" />
    <link href="//cdn.syncfusion.com/ej2/ej2-calendars/styles/material.css" rel="stylesheet" />
    
    
    
    <link href="//cdn.syncfusion.com/ej2/ej2-splitbuttons/styles/material.css" rel="stylesheet" />
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
    <script src="systemjs.config.js"></script>
</head>
<body>
    <div id='loader'>Loading....</div>
    <div id='container'>
        <div id='TreeGrid'></div>        
    </div>
</body>
</html>