We released a new data grid (SfDataGrid) control in 2018 Volume 1. It is an alternate for our Windows Forms grid grouping control. This new-generation data grid control offers several benefits over our existing grid grouping control like better performance, touch friendliness, light weight, and much more. This blog post analyzes the features of both controls and will help you make an informed decision about which control to choose in various situations.
Our general recommendation is to continue using the grid grouping control if you are already using it in an existing project. The grid grouping control will be officially supported for several more years so there is no need to upgrade unless you need to use one of the exclusive features in the new data grid or need better performance. Please note that the new data grid is still in beta, but we believe that it is stable enough to be used in production environments.
The new data grid control is based on and shares code with our market-leading data grid control available in other desktop platforms like WPF and UWP, so it already has a very mature feature set with features like grouping, filtering, summaries, stacked headers, and Excel export.
Feature comparison
The following table shows the currently supported features of the new data grid compared to the grid grouping control.
Feature | New DataGrid | Grid Grouping Control |
Data binding | Yes | Yes |
Real-time data update support for DataTable | Yes | No |
Real-time data update support for collections | Yes | Yes |
Virtual data processing | Yes | No |
Auto-generating columns | Yes | No |
Data annotation support (column generation, data validation, and column formatting) | Yes | No |
Built-in column types (text, numeric, button, hyperlink, check box, date-time) | Yes | Yes |
Drop-down column types | 2018 Volume 2 | Yes |
Editing | Yes | Yes |
Add new row | Yes | Yes |
Keyboard row deletion | Yes | No |
Built-in data validation based on data annotation and INotifyErrorInfo, IDataErrorInfo interfaces | Yes | No |
Custom cell and row validation | Yes | Yes |
Sorting and custom sorting | Yes | Yes |
Grouping and custom grouping | Yes | Yes |
Programmatic filtering | Yes | Yes |
Excel-like filtering | Yes | Yes |
Advanced UI filtering | Yes | No |
Filter row | Yes | Yes |
Master details view | 2018 Volume 2 | Yes |
Frozen columns | Yes | Yes |
Frozen rows | Yes | No |
Footer rows and columns | Yes | No |
Summaries (table, group, and group caption) and custom summaries | Yes | Yes |
Row selection | Yes | Yes |
Cell selection | 2018 Volume 2 | Yes |
Cell merging | 2018 Volume 2 | Yes |
Stacked headers | Yes | Yes |
Column resizing | Yes | Yes |
Column drag and drop | Yes | Yes |
Auto-fitting columns | Yes | Yes |
Auto-fitting rows | Yes | Yes |
Unbound columns | Yes | Yes |
Unbound rows | Yes | No |
Row header | Yes | Yes |
Clipboard support | Yes | Yes |
Column chooser | 2018 Volume 2 | Yes |
Built-in context menu | Yes | No |
Searching | Yes | Yes |
ToolTip | Yes | Yes |
Right to left | Yes | Yes |
Styling support for all data grid elements | Yes | Yes |
Theming | 2018 Volume 2 | Yes |
Touch | Yes | Yes |
Localization | Yes | Yes |
Printing | Supported using PDF viewer | Yes |
Excel exporting | Yes | Yes |
PDF exporting | Yes | Yes |
XML serialization and deserialization | Yes | Yes |
Accessibility | Yes | Yes |
Coded UI | 2018 Volume 2 | Yes |
QTP add-on | No | Yes |
These are some of the exclusive features that are only available in the new data grid:
- Virtual data processing: The data grid loads any number of records within milliseconds using its built-in data virtualization techniques that can be enabled by setting EnableDataVirtualization as true.
- Column generations based on data annotations: Generate and format columns using data annotations without writing any code.
- Data validation: Built-in support to handle data errors based on INotifyErrorInfo and IDataErrorInfo interfaces, and the data annotation attributes. Now there is no need to write any code to handle validations. The data grid also supports custom validations for cells and rows. ]Unbound row support: An additional row where data objects that are not bound to the underlying data source can be added at the top and bottom positions.
- Row freezing: Any row in the view port can be frozen at the top or bottom of the data grid.
Performance comparison
Our main goal with this new data grid control is to make it the best-performing data grid on the market and we believe we have accomplished our goal. This new data grid control offers 2–3x improved performance in many scenarios, even when compared to our already high-performance grid grouping control.
It is now possible to load millions of records within milliseconds. All data operation features like sorting, grouping, filtering, and summary calculations have also been optimized compared to the old grid. Also, the performance of features like auto-fit column widths, auto-fit row height, and Excel and PDF exporting have been improved greatly over the grid grouping control. In the following table, you can see the performance comparison of the new data grid over the grid grouping control.
Feature | New Data Grid (Time duration in milliseconds) | Grid Grouping Control (Time duration in milliseconds) |
Data loading | 203 | 1783 |
Sorting | 215 | 2217 |
Grouping | 1079 | 5077 |
Filtering | 470 | 981 |
The sample used for performance metric measurement can be downloaded from the following link: PerformanceMetricsSample.zip
What’s coming
We will continue to add new features and improvements in the new data grid control, and continue to provide bug fixes and support for the grid grouping control. The following are some major features that will be added to the data grid in upcoming releases:
- Master-details view support: Hierarchical data can be represented in the form of nested tables.
- Theme support: The visual style of the data grid can be changed using the built-in themes.
- Busy indicator support: A busy indicator will be displayed when performing data operations on large data.
- Excel-like UI filtering performance: The Excel-like UI filter performance will be increased.
- Combo box column type: The combo box drop-down column type support will allow users to choose an item from a drop-down.
- Filter row with combo box and multiselect combo box editor support: The combo box and multiselect combo box editors can be used to filter columns.
What’s next
If you’re already a Syncfusion user, you can download the product setup here. If you’re not yet a Syncfusion user, you can download a free, 30-day trial here. Refer to our documentation to get started with the new data grid control. Give us your feedback through the comments section below, our online forum, or a support ticket.