The JavaScript Tree Grid is a feature-rich control used to visualize self-referential hierarchical (or tree-like structure) data effectively in a tabular format. Its rich feature set includes many functionalities like data binding, editing, sorting, filtering, paging, exporting to Excel, CSV, and PDF formats, aggregating rows, and more.
Bind data seamlessly with various local and remote data sources such as JSON, RESTful services, OData services, and WCF services. JavaScript Tree Grid control uses the data manager to handle data and supports customizing data requests and processing.
All Tree Grid features work on touch devices with zero configuration. Without customization, the JS Tree Grid control allows enabling features such as sorting, paging, and selection.
The Tree Grid in JavaScript can be viewed on various devices. It is also possible to hide specific columns for particular screen sizes using column-based media query support.
The pager UI is adaptable to mobile views. When a Tree Grid is rendered in a smaller screen, the pager UI will be rendered without a page number list, making it suitable for smaller devices.
The JavaScript TreeGrid works well with all modern web browsers such as Chrome, Firefox, Edge, Safari, and IE11. It supports IE11 with the help of polyfills.
The JavaScript Tree Grid has optimized design for high-performance. It loads millions of records in just a second without any performance degradation with the help of row and column virtualization. In this TreeGrid, you can load the child records of a collapsed parent record on demand with expander click action.
The JavaScript TreeGrid provides full support to create, read, update, and delete operations (CRUD). It performs editing operations with JSON collection or remote data service with the help of data manager.
Easily visualize the aggregates of the JavaScript TreeGrid column values using the summary option. Aggregates can be customized to show their value in every hierarchy with a set of predefined summary types.
Through paging, a segment of data can be viewed from the assigned data source. The JavaScript Tree Grid offers built-in pager UI with options to customize its entire UI. It also has an on-demand paging mode for effective data retrieval from remote web services.
Filtering allows users to view the required data in the JavaScript TreeGrid. It supports various filter types such as filter bar and menu. The appropriate filter type can be chosen based on the application. These filter types support number, string, date, and Boolean. Options to customize filter operators, case sensitivity, and diacritics are also available.
The JavaScript Tree Grid allows users to sort a column by simply clicking on the header. A Ctrl + header click performs multi-sorting. Sort data in either ascending or descending order.
JavaScript Tree Grid allows selecting rows or cells. One or more rows or cells can also be selected by holding Ctrl or Command, or programmatically.
Change the JavaScript Tree Table size by setting the width and height properties. Horizontal and vertical scrollbars will appear when the content overflows the Tree Grid element. For the Tree Grid to fill its parent container, the user has to simply set the height and width to 100%.
Using templates, users can create custom user experiences in the JavaScript Tree Grid. There are template options to create custom headers, custom cell contents, and toolbars.
Columns define the schema of a data source in JavaScript Tree Grid. Features include formatting, column definitions, text wrapping, column chooser, column menu, column reordering, and other important features.
The JavaScript Tree Grid context menu provides a list of actions to be performed. It appears when a cell, header, or pager is right-clicked. The context menu items can be customized according to user preference.
Stacked headers allow grouping and visualizing column headers in a stacked manner. There is no limit to the number of columns that can be stacked. The data columns can still be sorted and filtered.
Row heights can be adjusted to display more rows in a view port. It is also possible to set row heights conditionally.
Easily export the HTML5 Tree Grid control in various file formats such as Excel, PDF, or CSV. Users can also programmatically customize the exported document.
Users can print data either by using the print option from the toolbar or programmatically. Print all the rows of a JavaScript Tree Grid regardless of the number of pages it has. There is also an option to print the currently viewed page only.
Four built-in SASS-based themes are available such as: Material, Bootstrap, Fabric, and High Contrast. Simplify theme customization either by overriding the existing SASS styling or creating custom themes by using the Theme Studio application.
The HTML5 Tree Grid ensures that every cell is accessible using the keyboard. Major features like sorting, selection, and editing can be performed using keyboard commands alone; no mouse interaction required. This helps in creating highly accessible applications using this component.
The JavaScript Tree Grid has complete WAI-ARIA accessibility support. Its UI includes high-contrast visual elements, helping visually impaired people have the best viewing experience. Also, the valid UI descriptions are easily accessible through assistive technologies such as screen readers.
Tree Grid in JavaScript enables users from different locales to use it by formatting the date, currency, and numbering to suit local preferences. It uses the internalization (i18n) library to handle value formatting.
Right-to-left rendering allows displaying the text and layout of the JavaScript TreeGrid from right to left. This improves the user experience and accessibility for RTL languages.
Users can localize all the strings used in the user interface of the JavaScript Tree Grid control. It uses the localization (l10n) library to localize UI strings.
Easily get started with the JavaScript Tree Grid using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript Tree Grid Example that shows you how to render and configure a TreeGrid in JavaScript.
<div class="control-section">
<div class="content-wrapper">
<div id="TreeGrid">
</div>
</div>
</div>
import { TreeGrid, Page } from '@syncfusion/ej2-treegrid';
import { sampleData } from './data-source';
/**
* Default TreeGrid sample
*/
TreeGrid.Inject(Page);
let treegrid: TreeGrid = new TreeGrid(
{
dataSource: sampleData,
childMapping: 'subtasks',
height: 350,
treeColumnIndex: 1,
allowPaging: true,
columns: [
{ field: 'taskID', headerText: 'Task ID', width: 70, textAlign: 'Right' },
{ field: 'taskName', headerText: 'Task Name', width: 200, textAlign: 'Left' },
{ field: 'startDate', headerText: 'Start Date', width: 90, textAlign: 'Right', type: 'date', format: 'yMd' },
{ field: 'endDate', headerText: 'End Date', width: 90, textAlign: 'Right', type: 'date', format: 'yMd' },
{ field: 'duration', headerText: 'Duration', width: 80, textAlign: 'Right' },
{ field: 'progress', headerText: 'Progress', width: 80, textAlign: 'Right' },
{ field: 'priority', headerText: 'Priority', width: 90 }
]
});
treegrid.appendTo('#TreeGrid');
The Tree Grid component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different Tree Grid platforms from the links below,
We do not sell the JavaScript Tree Grid separately. It is only available for purchase as part of the Syncfusion JavaScript suite, which contains over 70 JavaScript components, including the Tree Grid. A single developer license for the Syncfusion Essential Studio for JavaScript suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
You can find our JavaScript Tree Grid demo here.
No, our 70 JavaScript components, including Tree Grid, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their Tree Grid alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 70 JavaScript components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team today to see if you qualify for any additional discounts.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.