@syncfusion/ej2-grids 18.3.44 → 18.3.50-85492

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +1800 -1751
  2. package/README.md +81 -81
  3. package/dist/ej2-grids.umd.min.js +1 -10
  4. package/dist/ej2-grids.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-grids.es2015.js +171 -105
  6. package/dist/es6/ej2-grids.es2015.js.map +1 -1
  7. package/dist/es6/ej2-grids.es5.js +726 -658
  8. package/dist/es6/ej2-grids.es5.js.map +1 -1
  9. package/helpers/e2e/index.js +3 -3
  10. package/license +10 -10
  11. package/package.json +81 -81
  12. package/src/grid/actions/batch-edit.js +2 -2
  13. package/src/grid/actions/dialog-edit.js +13 -13
  14. package/src/grid/actions/edit.js +4 -4
  15. package/src/grid/actions/excel-export.js +11 -2
  16. package/src/grid/actions/excel-filter.js +13 -13
  17. package/src/grid/actions/foreign-key.js +13 -13
  18. package/src/grid/actions/group.js +1 -1
  19. package/src/grid/actions/infinite-scroll.d.ts +1 -0
  20. package/src/grid/actions/infinite-scroll.js +1 -0
  21. package/src/grid/actions/inline-edit.js +13 -13
  22. package/src/grid/actions/normal-edit.js +3 -3
  23. package/src/grid/actions/page.js +6 -2
  24. package/src/grid/actions/pdf-export.js +12 -3
  25. package/src/grid/actions/print.js +4 -4
  26. package/src/grid/actions/resize.js +4 -1
  27. package/src/grid/actions/row-reorder.js +2 -2
  28. package/src/grid/actions/selection.js +23 -21
  29. package/src/grid/actions/toolbar.js +8 -8
  30. package/src/grid/base/constant.d.ts +2 -0
  31. package/src/grid/base/constant.js +2 -0
  32. package/src/grid/base/grid-model.d.ts +1283 -1284
  33. package/src/grid/base/grid.d.ts +49 -50
  34. package/src/grid/base/grid.js +34 -25
  35. package/src/grid/base/interface.d.ts +13 -0
  36. package/src/grid/base/util.js +3 -3
  37. package/src/grid/common/excel-filter-base.js +13 -13
  38. package/src/grid/models/aggregate-model.d.ts +74 -74
  39. package/src/grid/models/aggregate.js +19 -19
  40. package/src/grid/models/column-chooser-settings-model.d.ts +8 -8
  41. package/src/grid/models/column-chooser-settings.js +19 -19
  42. package/src/grid/models/column-model.d.ts +11 -11
  43. package/src/grid/models/column.d.ts +5 -5
  44. package/src/grid/models/column.js +6 -6
  45. package/src/grid/models/page-settings-model.d.ts +36 -36
  46. package/src/grid/models/page-settings.js +19 -19
  47. package/src/grid/renderer/caption-cell-renderer.js +16 -13
  48. package/src/grid/renderer/command-column-renderer.js +13 -13
  49. package/src/grid/renderer/content-renderer.js +16 -1
  50. package/src/grid/renderer/detail-expand-cell-renderer.js +13 -13
  51. package/src/grid/renderer/detail-header-indent-renderer.js +13 -13
  52. package/src/grid/renderer/dialog-edit-renderer.js +2 -1
  53. package/src/grid/renderer/dropdown-edit-cell.js +2 -2
  54. package/src/grid/renderer/edit-renderer.js +2 -2
  55. package/src/grid/renderer/expand-cell-renderer.js +13 -13
  56. package/src/grid/renderer/filter-cell-renderer.js +13 -13
  57. package/src/grid/renderer/footer-renderer.js +13 -13
  58. package/src/grid/renderer/freeze-renderer.js +13 -13
  59. package/src/grid/renderer/group-lazy-load-renderer.js +13 -13
  60. package/src/grid/renderer/header-cell-renderer.js +13 -13
  61. package/src/grid/renderer/header-indent-renderer.js +13 -13
  62. package/src/grid/renderer/indent-cell-renderer.js +13 -13
  63. package/src/grid/renderer/render.js +1 -1
  64. package/src/grid/renderer/row-drag-drop-renderer.js +13 -13
  65. package/src/grid/renderer/row-drag-header-indent-render.js +13 -13
  66. package/src/grid/renderer/stacked-cell-renderer.js +13 -13
  67. package/src/grid/renderer/summary-cell-renderer.js +13 -13
  68. package/src/grid/renderer/virtual-content-renderer.js +13 -13
  69. package/src/grid/renderer/virtual-freeze-renderer.js +13 -13
  70. package/src/grid/services/focus-strategy.d.ts +2 -1
  71. package/src/grid/services/focus-strategy.js +26 -16
  72. package/src/grid/services/group-model-generator.js +13 -13
  73. package/src/grid/services/row-model-generator.js +1 -1
  74. package/src/grid/services/summary-model-generator.js +13 -13
  75. package/src/pager/pager-dropdown.js +1 -1
  76. package/src/pager/pager-message.js +1 -1
  77. package/src/pager/pager-model.d.ts +59 -59
  78. package/src/pager/pager.js +19 -19
  79. package/styles/bootstrap-dark.css +0 -4
  80. package/styles/bootstrap.css +0 -4
  81. package/styles/bootstrap4.css +5 -4
  82. package/styles/bootstrap5-dark.css +0 -0
  83. package/styles/bootstrap5-dark.scss +0 -0
  84. package/styles/bootstrap5.css +0 -0
  85. package/styles/bootstrap5.scss +0 -0
  86. package/styles/excel-filter/_all.scss +2 -2
  87. package/styles/excel-filter/_bootstrap-dark-definition.scss +54 -54
  88. package/styles/excel-filter/_bootstrap-definition.scss +61 -61
  89. package/styles/excel-filter/_bootstrap4-definition.scss +70 -70
  90. package/styles/excel-filter/_fabric-dark-definition.scss +54 -54
  91. package/styles/excel-filter/_fabric-definition.scss +59 -59
  92. package/styles/excel-filter/_highcontrast-definition.scss +54 -54
  93. package/styles/excel-filter/_highcontrast-light-definition.scss +50 -50
  94. package/styles/excel-filter/_layout.scss +387 -387
  95. package/styles/excel-filter/_material-dark-definition.scss +56 -56
  96. package/styles/excel-filter/_material-definition.scss +57 -57
  97. package/styles/excel-filter/_office-365-definition.scss +1 -1
  98. package/styles/excel-filter/_theme.scss +18 -18
  99. package/styles/excel-filter/bootstrap-dark.css +0 -1
  100. package/styles/excel-filter/bootstrap.css +0 -1
  101. package/styles/excel-filter/bootstrap.scss +1 -0
  102. package/styles/excel-filter/bootstrap4.css +5 -1
  103. package/styles/excel-filter/fabric.scss +1 -0
  104. package/styles/excel-filter/highcontrast.scss +1 -0
  105. package/styles/excel-filter/icons/_bootstrap-dark.scss +29 -29
  106. package/styles/excel-filter/icons/_bootstrap.scss +29 -29
  107. package/styles/excel-filter/icons/_bootstrap4.scss +29 -29
  108. package/styles/excel-filter/icons/_fabric-dark.scss +29 -29
  109. package/styles/excel-filter/icons/_fabric.scss +29 -29
  110. package/styles/excel-filter/icons/_highcontrast-light.scss +29 -29
  111. package/styles/excel-filter/icons/_highcontrast.scss +29 -29
  112. package/styles/excel-filter/icons/_material-dark.scss +29 -29
  113. package/styles/excel-filter/icons/_material.scss +29 -29
  114. package/styles/excel-filter/material.scss +1 -0
  115. package/styles/fabric-dark.css +0 -3
  116. package/styles/fabric.css +0 -3
  117. package/styles/grid/_all.scss +2 -2
  118. package/styles/grid/_bootstrap-dark-definition.scss +497 -497
  119. package/styles/grid/_bootstrap-definition.scss +500 -500
  120. package/styles/grid/_bootstrap4-definition.scss +501 -502
  121. package/styles/grid/_fabric-dark-definition.scss +499 -499
  122. package/styles/grid/_fabric-definition.scss +499 -499
  123. package/styles/grid/_highcontrast-definition.scss +498 -498
  124. package/styles/grid/_highcontrast-light-definition.scss +495 -495
  125. package/styles/grid/_layout.scss +2908 -2908
  126. package/styles/grid/_material-dark-definition.scss +495 -495
  127. package/styles/grid/_material-definition.scss +495 -495
  128. package/styles/grid/_office-365-definition.scss +1 -1
  129. package/styles/grid/_theme.scss +529 -529
  130. package/styles/grid/bootstrap-dark.css +0 -4
  131. package/styles/grid/bootstrap.css +0 -4
  132. package/styles/grid/bootstrap.scss +1 -0
  133. package/styles/grid/bootstrap4.css +5 -4
  134. package/styles/grid/fabric-dark.css +0 -3
  135. package/styles/grid/fabric.css +0 -3
  136. package/styles/grid/fabric.scss +1 -0
  137. package/styles/grid/highcontrast-light.css +0 -3
  138. package/styles/grid/highcontrast.css +0 -3
  139. package/styles/grid/highcontrast.scss +1 -0
  140. package/styles/grid/icons/_bootstrap-dark.scss +180 -180
  141. package/styles/grid/icons/_bootstrap.scss +180 -180
  142. package/styles/grid/icons/_bootstrap4.scss +180 -180
  143. package/styles/grid/icons/_fabric-dark.scss +180 -180
  144. package/styles/grid/icons/_fabric.scss +180 -180
  145. package/styles/grid/icons/_highcontrast-light.scss +180 -180
  146. package/styles/grid/icons/_highcontrast.scss +181 -181
  147. package/styles/grid/icons/_material-dark.scss +180 -180
  148. package/styles/grid/icons/_material.scss +180 -180
  149. package/styles/grid/material-dark.css +0 -3
  150. package/styles/grid/material.css +0 -3
  151. package/styles/grid/material.scss +1 -0
  152. package/styles/highcontrast-light.css +0 -3
  153. package/styles/highcontrast.css +0 -3
  154. package/styles/material-dark.css +0 -3
  155. package/styles/material.css +0 -3
  156. package/styles/pager/_all.scss +2 -2
  157. package/styles/pager/_bootstrap-dark-definition.scss +112 -112
  158. package/styles/pager/_bootstrap-definition.scss +112 -112
  159. package/styles/pager/_bootstrap4-definition.scss +111 -112
  160. package/styles/pager/_fabric-dark-definition.scss +113 -113
  161. package/styles/pager/_fabric-definition.scss +112 -112
  162. package/styles/pager/_highcontrast-definition.scss +112 -112
  163. package/styles/pager/_highcontrast-light-definition.scss +112 -112
  164. package/styles/pager/_layout.scss +575 -575
  165. package/styles/pager/_material-dark-definition.scss +112 -112
  166. package/styles/pager/_material-definition.scss +111 -111
  167. package/styles/pager/_theme.scss +129 -129
  168. package/styles/pager/icons/_bootstrap-dark.scss +49 -49
  169. package/styles/pager/icons/_bootstrap.scss +49 -49
  170. package/styles/pager/icons/_bootstrap4.scss +49 -49
  171. package/styles/pager/icons/_fabric-dark.scss +49 -49
  172. package/styles/pager/icons/_fabric.scss +49 -49
  173. package/styles/pager/icons/_highcontrast-light.scss +49 -49
  174. package/styles/pager/icons/_highcontrast.scss +41 -41
  175. package/styles/pager/icons/_material-dark.scss +49 -49
  176. package/styles/pager/icons/_material.scss +41 -41
  177. package/styles/tailwind-dark.css +0 -0
  178. package/styles/tailwind-dark.scss +0 -0
  179. package/styles/tailwind.css +0 -0
  180. package/styles/tailwind.scss +0 -0
  181. package/dist/global/ej2-grids.min.js +0 -11
  182. package/dist/global/ej2-grids.min.js.map +0 -1
  183. package/dist/global/index.d.ts +0 -14
package/README.md CHANGED
@@ -1,82 +1,82 @@
1
- # ej2-grids
2
-
3
- The Grid component is used to display and manipulate tabular data with configuration options to control the way the data is presented and manipulated. It will pull data from a data source, such as array of JSON objects, `OData web services`, or [`DataManager`](http://ej2.syncfusion.com/documentation/data?utm_source=npm&utm_campaign=grid) binding data fields to columns. Also displaying a column header to identify the field with support for grouped records.
4
-
5
- ![Grid](https://ej2.syncfusion.com/products/grid/readme.gif)
6
-
7
- > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA (https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at https://www.syncfusion.com/sales/products or start a free 30-day trial here (https://www.syncfusion.com/account/manage-trials/start-trials).
8
-
9
- > A free community license (https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
10
-
11
- ## Setup
12
-
13
- To install Grid and its dependent packages, use the following command.
14
-
15
- ```sh
16
- npm install @syncfusion/ej2-grids
17
- ```
18
-
19
- ## Resources
20
-
21
- * [Getting Started](https://ej2.syncfusion.com/documentation/grid/getting-started.html?lang=typescript&utm_source=npm&utm_campaign=grid)
22
- * [View Online Demos](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default.html)
23
- * [Product Page](https://www.syncfusion.com/javascript-ui-controls/grid)
24
-
25
- ## Supported Frameworks
26
-
27
- Grid component is also offered in following list of frameworks.
28
-
29
- 1. [Angular](https://github.com/syncfusion/ej2-angular-ui-components/tree/master/components/grids)
30
- 2. [React](https://github.com/syncfusion/ej2-react-ui-components/tree/master/components/grids)
31
- 3. [VueJS](https://github.com/syncfusion/ej2-vue-ui-components/tree/master/components/grids)
32
- 4. [ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls/grid)
33
- 5. [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls/grid)
34
- 6. [JavaScript (ES5)](https://www.syncfusion.com/javascript-ui-controls/grid)
35
-
36
- ## Showcase samples
37
-
38
- * Expanse Tracker ([Source](https://github.com/syncfusion/ej2-sample-ts-expensetracker), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/expensetracker/?utm_source=npm&utm_campaign=grid#/dashboard))
39
- * Loan Calculator ([Source](https://github.com/syncfusion/ej2-sample-ts-loancalculator), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/loancalculator/?utm_source=npm&utm_campaign=grid))
40
-
41
- ## Key Features
42
-
43
- * [**Data sources**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/local-data.html) - Bind the Grid component with an array of JSON objects or DataManager.
44
- * [**Sorting and grouping**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/grouping.html) - Supports n levels of sorting and grouping.
45
- * [**Filtering**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/filter.html) - Offers filter UI such as filter bar, menu, excel and checkbox at each column to filter data.
46
- * [**Paging**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default-paging.html) - Provides the option to easily switch between pages using the pager bar.
47
- * [**Editing**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/normal-editing.html) - provides the options for create, read, update, and delete operations.
48
- * **Columns** - The column definitions are used as the dataSource schema in the Grid. This plays a vital role in rendering column values in the required format.
49
- * [**Reordering**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/reorder.html) - Allows you to drag any column and drop it at any position in the Grid’s column header row, allowing columns to be repositioned.
50
- * [**Column Chooser**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-chooser.html) - The column chooser provides a list of column names paired with check boxes that allow the visibility to be toggled on the fly.
51
- * [**Resizing**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/columnresize.html) - Resizing allows changing column width on the fly by simply dragging the right corner of the column header.
52
- * [**Freeze**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/frozen-rows-columns.html) - Columns and rows can be frozen to allow scrolling and comparing cell values.
53
- * [**Cell Spanning**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-spanning.html) - Grid cells can be spanned based on the preferred criteria.
54
- * [**Foreign data source**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/foreign-key.html) - This provides the option to show values from external or lookup data sources in a column based on foreign key/value mapping.
55
- * [**Cell Styling**](https://ej2.syncfusion.com/documentation/grid/how-to.html?lang=typescript&utm_source=npm&utm_campaign=grid#customize-column-styles) - Grid cell styles can be customized either by using CSS or programmatically.
56
- * [**Selection**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/selection.html) - Rows or cells can be selected in the grid. One or more rows or cells can also be selected by holding Ctrl or Command, or programmatically.
57
- * [**Templates**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-template.html) - Templates can be used to create custom user experiences in the grid.
58
- * [**Aggregation**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/aggregate-default.html) - Provides the option to easily visualized the Aggregates for column values.
59
- * [**Context menu**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/context-menu.html) -The context menu provides a list of actions to be performed in the grid. It appears when a cell, header, or the pager is right-clicked.
60
- * [**Clipboard**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/clipboard.html) - Selected rows and cells can be copied from the grid.
61
- * [**Export**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default-exporting.html) - Provides the options to Export the grid data to Excel, PDF, and CSV formats.
62
- * [**RTL support**](https://ej2.syncfusion.com/documentation/grid/global-local.html?lang=typescript?utm_source=npm&utm_campaign=grid#right-to-left-rtl) - Provides a full-fledged right-to-left mode which aligns content in the Grid control from right to left.
63
- * [**Localization**](https://ej2.syncfusion.com/documentation/grid/global-local.html?lang=typescript?utm_source=npm&utm_campaign=grid#localization) - Provides inherent support to localize the UI.
64
-
65
- ## Support
66
-
67
- Product support is available for through following mediums.
68
-
69
- * Creating incident in Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_campaign=grid) support system or [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_campaign=grid).
70
- * New [GitHub issue](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new).
71
- * Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.
72
-
73
- ## License
74
-
75
- Check the license detail [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license?utm_source=npm&utm_campaign=grid).
76
-
77
- ## Changelog
78
-
79
- Check the changelog [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/controls/grids/CHANGELOG.md?utm_source=npm&utm_campaign=grid)
80
-
81
-
1
+ # ej2-grids
2
+
3
+ The Grid component is used to display and manipulate tabular data with configuration options to control the way the data is presented and manipulated. It will pull data from a data source, such as array of JSON objects, `OData web services`, or [`DataManager`](http://ej2.syncfusion.com/documentation/data?utm_source=npm&utm_campaign=grid) binding data fields to columns. Also displaying a column header to identify the field with support for grouped records.
4
+
5
+ ![Grid](https://ej2.syncfusion.com/products/grid/readme.gif)
6
+
7
+ > This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA (https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at https://www.syncfusion.com/sales/products or start a free 30-day trial here (https://www.syncfusion.com/account/manage-trials/start-trials).
8
+
9
+ > A free community license (https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
10
+
11
+ ## Setup
12
+
13
+ To install Grid and its dependent packages, use the following command.
14
+
15
+ ```sh
16
+ npm install @syncfusion/ej2-grids
17
+ ```
18
+
19
+ ## Resources
20
+
21
+ * [Getting Started](https://ej2.syncfusion.com/documentation/grid/getting-started.html?lang=typescript&utm_source=npm&utm_campaign=grid)
22
+ * [View Online Demos](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default.html)
23
+ * [Product Page](https://www.syncfusion.com/javascript-ui-controls/grid)
24
+
25
+ ## Supported Frameworks
26
+
27
+ Grid component is also offered in following list of frameworks.
28
+
29
+ 1. [Angular](https://github.com/syncfusion/ej2-angular-ui-components/tree/master/components/grids)
30
+ 2. [React](https://github.com/syncfusion/ej2-react-ui-components/tree/master/components/grids)
31
+ 3. [VueJS](https://github.com/syncfusion/ej2-vue-ui-components/tree/master/components/grids)
32
+ 4. [ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls/grid)
33
+ 5. [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls/grid)
34
+ 6. [JavaScript (ES5)](https://www.syncfusion.com/javascript-ui-controls/grid)
35
+
36
+ ## Showcase samples
37
+
38
+ * Expanse Tracker ([Source](https://github.com/syncfusion/ej2-sample-ts-expensetracker), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/expensetracker/?utm_source=npm&utm_campaign=grid#/dashboard))
39
+ * Loan Calculator ([Source](https://github.com/syncfusion/ej2-sample-ts-loancalculator), [Live Demo](https://ej2.syncfusion.com/showcase/typescript/loancalculator/?utm_source=npm&utm_campaign=grid))
40
+
41
+ ## Key Features
42
+
43
+ * [**Data sources**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/local-data.html) - Bind the Grid component with an array of JSON objects or DataManager.
44
+ * [**Sorting and grouping**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/grouping.html) - Supports n levels of sorting and grouping.
45
+ * [**Filtering**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/filter.html) - Offers filter UI such as filter bar, menu, excel and checkbox at each column to filter data.
46
+ * [**Paging**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default-paging.html) - Provides the option to easily switch between pages using the pager bar.
47
+ * [**Editing**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/normal-editing.html) - provides the options for create, read, update, and delete operations.
48
+ * **Columns** - The column definitions are used as the dataSource schema in the Grid. This plays a vital role in rendering column values in the required format.
49
+ * [**Reordering**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/reorder.html) - Allows you to drag any column and drop it at any position in the Grid’s column header row, allowing columns to be repositioned.
50
+ * [**Column Chooser**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-chooser.html) - The column chooser provides a list of column names paired with check boxes that allow the visibility to be toggled on the fly.
51
+ * [**Resizing**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/columnresize.html) - Resizing allows changing column width on the fly by simply dragging the right corner of the column header.
52
+ * [**Freeze**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/frozen-rows-columns.html) - Columns and rows can be frozen to allow scrolling and comparing cell values.
53
+ * [**Cell Spanning**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-spanning.html) - Grid cells can be spanned based on the preferred criteria.
54
+ * [**Foreign data source**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/foreign-key.html) - This provides the option to show values from external or lookup data sources in a column based on foreign key/value mapping.
55
+ * [**Cell Styling**](https://ej2.syncfusion.com/documentation/grid/how-to.html?lang=typescript&utm_source=npm&utm_campaign=grid#customize-column-styles) - Grid cell styles can be customized either by using CSS or programmatically.
56
+ * [**Selection**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/selection.html) - Rows or cells can be selected in the grid. One or more rows or cells can also be selected by holding Ctrl or Command, or programmatically.
57
+ * [**Templates**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/column-template.html) - Templates can be used to create custom user experiences in the grid.
58
+ * [**Aggregation**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/aggregate-default.html) - Provides the option to easily visualized the Aggregates for column values.
59
+ * [**Context menu**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/context-menu.html) -The context menu provides a list of actions to be performed in the grid. It appears when a cell, header, or the pager is right-clicked.
60
+ * [**Clipboard**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/clipboard.html) - Selected rows and cells can be copied from the grid.
61
+ * [**Export**](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=grid#/material/grid/default-exporting.html) - Provides the options to Export the grid data to Excel, PDF, and CSV formats.
62
+ * [**RTL support**](https://ej2.syncfusion.com/documentation/grid/global-local.html?lang=typescript?utm_source=npm&utm_campaign=grid#right-to-left-rtl) - Provides a full-fledged right-to-left mode which aligns content in the Grid control from right to left.
63
+ * [**Localization**](https://ej2.syncfusion.com/documentation/grid/global-local.html?lang=typescript?utm_source=npm&utm_campaign=grid#localization) - Provides inherent support to localize the UI.
64
+
65
+ ## Support
66
+
67
+ Product support is available for through following mediums.
68
+
69
+ * Creating incident in Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_campaign=grid) support system or [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_campaign=grid).
70
+ * New [GitHub issue](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new).
71
+ * Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.
72
+
73
+ ## License
74
+
75
+ Check the license detail [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license?utm_source=npm&utm_campaign=grid).
76
+
77
+ ## Changelog
78
+
79
+ Check the changelog [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/controls/grids/CHANGELOG.md?utm_source=npm&utm_campaign=grid)
80
+
81
+
82
82
  © Copyright 2019 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.