The WPF DataGrid control is used for efficiently displaying and manipulating tabular data. Its rich feature set includes functionalities like data binding, editing, sorting, filtering, grouping, and exporting to Excel and PDF file formats. It has also been optimized for working with millions of records, as well as handling high frequency real-time updates.
Data grid has the ability to load millions of records instantly.
Data processing operations like sorting, filtering, grouping, summaries, refresh, and real-time updates are handled efficiently using PLINQ.
Data grid is optimized for quickly printing and exporting to Excel/PDF file formats.
Data binding works out-of-the-box with all popular data sources like SQL server, Oracle, IEnumerable, and data providers like LINQ to SQL, ADO.NET, Entity Framework, WCF Data Service.
There is built-in support for validating cells and displaying error information based on IDataErrorInfo, INotifyDataErrorInfo, and Data Annotations. Data grid also provides support for custom validations.
There is support for sorting data against one or more columns with multiple customization operations. There is also an option to sort by caption summary values when the grid is grouped.
Data grid has support for grouping data by one or more columns either programmatically or through mouse and touch interactivity.
Data grid has a built-in, Excel-inspired filter UI with advanced filtering options to easily filter and view data as required. It is also possible to filter programmatically.
There is built-in support to calculate and display sum, min, max, average, count, and custom aggregates in additional rows in a table or group.
Data grid handles high frequency updates even under the most demanding scenarios where the data is sorted and grouped in real-time. The summaries are calculated in an optimized way and the updated summary is displayed in real-time scenarios.
Data grid provides support for highlighting the search results and also filtering records based on search text.
Change the height of the rows based on the content of any column or certain columns to enhance the readability of content.
Data grid has the ability to dynamically merge data in adjacent cells and present that data in a single cell.
Freeze the rows and columns at top, bottom, left and right positions similar to Excel.
Data grid has the ability to display rows at the top and bottom of the grid with data that is not bound to the ItemsSource.
There is built-in support for displaying stacked headers, which are unbound header rows that can span across multiple rows and columns.
Data grid provides support to display additional columns that are not bound to data. It also supports expression, which is used to calculate values among columns.
A master-detail relationship is represented through nested grids that can be expanded and collapsed as required. Data grid also supports functionalities like editing, sorting, filtering, etc. Its flexibility allows unlimited levels of nesting.
Display additional information of a row using a template that can be expanded and collapsed as required. It can be defined in datagrid using the TemplateViewDefinition.
Data grid has the ability to create records on demand by automatically enabling data virtualization.
Data grid has the ability to load data while scrolling, if the data source is derived from ISupportIncrementalLoading interface.
There is interactive support for manipulating data using SfDataPager control. It also supports on-demand loading.
There is support for built-in visual styles like Blend, Office 2010 & 2013 styles, Metro, and Visual Studio.
Fully customizable using Microsoft Expression Blend and Visual Studio. It is possible to completely customize the cell and row appearance.
Easily customize all aspects of appearance using the Theme Studio utility.
Built-in support to drag and drop rows. Also supports drag-and-drop between controls.
Column chooser UI can be selectively enabled to let end-users interactively choose the visible columns. The default UI can also be customized as required.
Improve the end-user experience by adding custom context menu entries.
Built-in support for row and cell-based selection similar to Excel with extensive support for all keyboard navigations.
Settings in the grid can be serialized to XML format and loaded back through the built-in serialization options.
Every static text in the data grid can be localized to any desired language.
Data grid is compatible with Coded UI and UFT (formerly QTP) automation tools.