We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies


The Blazor TreeGrid is a feature-rich component used to visualize self-referential hierarchical (tree-like structure) data effectively in a tabular format. Its rich feature set includes many functionalities like data binding, editing, sorting, filtering, paging, aggregating rows, and exporting to Excel, CSV, and PDF formats.

Data binding

Bind data seamlessly with various local and remote data sources such as IEnumerable/List, RESTful services, OData services, WCF services, Observable Collection, ExpandoObject, and DynamicObject. The tree grid uses the data manager to handle data, and allows customizing data requests.

Blazor TreeGrid Data binding.

Blazor TreeGrid High Performance

High performance

The Blazor Tree Grid has optimized design for high-performance. It loads thousands of records in just a second without any performance degradation with the help of row and column virtualization.

Mobile optimized with Browser support

The Blazor Tree Grid has a highly responsive layout and a finely optimized design for desktops, touch screens, and smart phones.

Touch support in Blazor TreeGrid.

Touch support

User-friendly touch gestures and an interactive UI design help produce the best user experience. All Tree Grid features work on touch devices with zero configuration.

Responsive pager UI in Blazor Tree Grid.

Responsive pager

The Blazor Tree Grid pager acts intelligently and changes its complete UI responsively based on the tree grid dimension. Its optimized design provides the best UI interaction in different devices.

Adaptive UI layout

The Blazor Tree Grid user interface is customized and redesigned for great views and usability on small screens. Filter, search, and edit dialogs are adaptive to the screen size.

Blazor TreeGrid Adaptive UI Layout

Blazor TreeGrid Column.


Columns define the schema of a data source in Blazor Tree Grid component. It supports formatting, column definitions, freezing columns, column spanning, text wrapping, column chooser, column menu, column reorder, and other features.


Through paging, a segment of data can be viewed from the assigned data source. The Blazor 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.

Blazor TreeGrid Paging.


The Blazor Tree Grid allows users to sort a column by simply clicking on the header. A Ctrl + header click performs multi-sorting. Allows sorting data either in the ascending or descending order.


Filtering helps view specific or related records that meet a given filtering criteria. It supports various filter types that include powerful Excel-like filter. The Blazor Tree Grid filter allows users to choose appropriate filter types, define their own custom filtering logic, and customize the filtering UI based on their application needs. Filtering with related parent or child records can be defined.

Blazor TreeGrid Filtering.

Blazor TreeGrid Cell Selection.


The Blazor TreeGrid allows selecting rows or cells. One or more rows or cells can also be selected by holding Ctrl or Command, or programmatically.


Rows in Tree Grid represents each data object information from the data source. It supports expanding / collapsing child rows, reordering of rows, indent / outdent rows to change its hierarchy levels and much more features.

Rows in Blazor TreeGrid Chart.

Blazor TreeGrid Editing.


The Blazor Tree Grid provides full support to create, read, update, and delete (CRUD) operations. In addition to built-in editor components to edit a particular column value, using template support users can create custom editor components that suit their application needs. It performs editing operations with a list of business objects or remote data service with the help of the data manager.


Aggregates for column values can easily be displayed using the aggregate feature. Aggregates can be customized to show values in individual summary rows.

Blazor TreeGrid Aggregation.

Blazor TreeGrid with Freeze columns

Frozen columns

Frozen columns are visible at the left or right or both the sides of the tree grid and make the remaining grid content scrollable. It is mainly used to compare cell values. Users can include or exclude the columns from being frozen, by interacting with the frozen line separators between the columns.


Export to PDF, CSV, and Excel formats in Blazor TreeGrid component.

Excel, PDF, CSV export

Easily export the Blazor Tree Grid component in file formats such as Excel, PDF, or CSV.

Print Blazor TreeGrid content.


Allows users to print data either by using the print option from the toolbar or programmatically. Print all the rows of a Blazor Tree Grid regardless of the number of pages or print the currently viewed page alone.

Additional features

Blazor TreeGrid with row height

Row height

Row height is a major factor when displaying the number of records in the view port, and it is effortlessly customizable based on the application’s UI requirement. It is also possible to set row height conditionally.

Copy to clipboard from Blazor TreeGrid

Copy to clipboard

The clipboard provides an option to copy selected rows or cells’ data into the clipboard. Use Ctrl+C and Ctrl+Shift+H key combinations to copy data with and without headers, respectively.

Blazor TreeGrid with context menu

Context menu

The context menu improves user action with Blazor Tree Grid using popup menu. It appears when the cell, header, or pager is right clicked. In addition to built-in default menu items, it allows you to add custom context menu items.

Width and height in Blazor TreeGrid.

Width and height

Allows changing the Blazor Tree Grid size by setting the width and height properties. Horizontal and vertical scrollbars will appear when the content overflows the Blazor Tree Grid element. For the Blazor Tree Grid to fill its parent container, the user must simply set the height and width to 100%.

Blazor TreeGrid with template column


Using templates, users can create custom UI. It provides various template options to create custom headers, custom cell contents, custom rows, detail rows, toolbars, and custom editors for edit action.

Blazor TreeGrid with Stacked headers

Stacked headers

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. Allows the user to perform all Blazor TreeGrid actions, even when the columns are stacked.

Built-in and customizable themes

Several built-in SASS-based themes are available such as Fluent, Tailwind CSS, Bootstrap 5, Bootstrap 4, Bootstrap, Material, Fabric, and High Contrast. Simplify theme customization either by overriding the existing SASS styling or creating custom themes by using the Theme Studio application.

Blazor TreeGrid Themes.


Keyboard navigation in Blazor TreeGrid.

Keyboard navigation

Blazor Tree Grid ensures that every cell is keyboard accessible. Major features like expanding or collapsing child rows, sort, select, and edit can be performed using keyboard commands alone; no mouse interaction is required. This helps in creating highly accessible applications using this component.

Accessibility and screen reader support in Blazor TreeGrid.

Screen reader

The Blazor TreeGrid has complete WAI-ARIA accessibility support. The Blazor Tree Grid UI includes high-contrast visual elements, helping visually impaired people to have the best viewing experience. Also, the valid UI descriptions are easily accessible through assistive technologies such as screen readers.

Globalization and localization

Format dates and numbers in Blazor TreeGrid.


Blazor Tree Grid enables users from different locales to use it by formatting the date, currency, and numbering to suit locale preferences. It uses the internalization (i18n) library to handle value formatting.

Show right-to-left language in Blazor TreeGrid.

Right to left (RTL)

Right-to-left rendering allows displaying the text and layout of the Tree Grid from right to left. This improves the user experience and accessibility for RTL languages.

Localize Blazor TreeGrid UI strings.


Based on their needs, users can allow localizing all the strings that are used in the user interface of Blazor Tree Grid control. It uses the localization (l10n) library to localize UI strings.

Blazor Tree Grid Code Example

Easily get started with the Blazor Tree Grid using a few simple lines of C# code example as demonstrated below. Also explore our Blazor TreeGrid Example that shows you how to render and configure the Blazor Tree Grid.

@using Syncfusion.Blazor.TreeGrid

<SfTreeGrid DataSource="@TreeData" IdMapping="TaskID" ParentIdMapping="ParentID" TreeColumnIndex="1">
        <TreeGridColumn Field="TaskID" HeaderText="Task ID" Width="80" TextAlign="TextAlign.Right"></TreeGridColumn>
        <TreeGridColumn Field="TaskName" HeaderText="Task Name" Width="145"></TreeGridColumn>
        <TreeGridColumn Field="Duration" HeaderText="Duration" Width="100" TextAlign="TextAlign.Right"></TreeGridColumn>
        <TreeGridColumn Field="Progress" HeaderText="Progress" Width="100"></TreeGridColumn>

    public List<SelfReferenceData> TreeData { get; set; }

    protected override void OnInitialized()
        this.TreeData = SelfReferenceData.GetTree().Take(30).ToList();

 public class SelfReferenceData
        public static List<SelfReferenceData> tree = new List<SelfReferenceData>();
        public int TaskID { get; set; }
        public string TaskName { get; set; }
        public String Progress { get; set; }
        public int Duration { get; set; }
        public int? ParentID { get; set; }
        public SelfReferenceData() { }
        public static List<SelfReferenceData> GetTree()
            if (tree.Count == 0)
                int root = -1;
                for (var t = 1; t <= 10000; t++)
                    Random ran = new Random();
                    string progr = (ran.Next() % 3) == 0 ? "Started" : (ran.Next() % 2) == 0 ? "Open" : "In Progress";
                    int rootItem = tree.Count + root + 1;
                    tree.Add(new SelfReferenceData() { TaskID = rootItem, TaskName = "Parent task " + rootItem.ToString(), Progress = progr, Duration = ran.Next(1, 50) });
                    int parent = tree.Count;
                    for (var c = 0; c < 2; c++)
                        progr = (ran.Next() % 3) == 0 ? "In Progress" : (ran.Next() % 2) == 0 ? "Open" : "Validated";
                        int iD = tree.Count + root + 1;
                        tree.Add(new SelfReferenceData() { TaskID = iD, TaskName = "Child task " + iD.ToString(), ParentID = rootItem, Progress = progr, Duration = ran.Next(1, 50) });
            return tree;

Other supported frameworks

Tree Grid is also available in JavaScript, Angular, React and Vue frameworks that are built from their own TypeScript libraries. Check out the different Tree Grid platforms from the links below,

Supported browsers

The Blazor TreeGrid works well with all modern web browsers such as Chrome, Firefox, Microsoft Edge, Safari.

Supported web browsers for Blazor TreeGrid.

Blazor Components – 80+ UI and DataViz Components

Frequently Asked Questions

  • Flexible data binding with support to use data sources such as Web API, OData, Entity Framework, and more.
  • Blazing fast load time and rich UI interaction and keyboard navigation in both server-side and client-side (WebAssembly) Blazor apps.
  • Packed with a bunch of features with customization options suitable for building complex, large-scale applications.
  • CRUD operations using various modes of editing and built-in validation rules.
  • Simple configuration and API.
  • Supports all modern browsers.
  • Mobile-touch friendly and responsive.
  • Extensive demos, documentation and videos to learn quickly and get started with Blazor Tree Grid.

You can find our Blazor Tree Grid demo here.

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.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version Download Free Trial


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.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile