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.
DataGrid can load millions of records instantly.
Data processing operations like sorting, filtering, grouping, summaries, and real-time updates are handled efficiently using PLINQ.
Quickly print and export the datagrid content to Excel or PDF file formats.
WPF DataGrid has data-binding support to work out-of-the-box with all popular data sources like SQL server, Oracle, DataTable, and IEnumerable, and data providers like LINQ to SQL, ADO.NET, Entity Framework, and WCF Data Service.
Validate cells and display error information based on the following validation types:
Also, it’s possible to use:
Sort data against one or more columns with multiple customization operations. You can also sort by caption summary values when the grid is grouped, or by writing custom logic.
Group data by one or more columns either through mouse and touch interactivity in the group drop area or in code behind. Or group data with custom logic.
Filter data with the filter row filter or an intuitive, built-in, Excel-inspired filtering UI.
Calculate and display sum, min, max, average, count, and custom aggregates in a table or group. Display summaries with different summary types, such as:
The DataGrid control can handle 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.
Add a new record in an underlying collection with a built-in row. Place the added new row at the top or bottom, or stick it at the top. It’s also possible to place a newly added row at the top or bottom in a datagrid.
Delete selected records in a datagrid by pressing the
Delete key. You can change it to another key instead of the default, too.
Search and highlight text in the data of a datagrid and filter records based on the search text.
Select rows or cells in a similar way to Excel for all keyboard navigations.
Customize the appearance of cells, rows, or columns based on data.
Users can adjust (auto fit) the row height based on the content of any column or certain columns to enhance the readability of content. It’s also possible to set the row height conditionally.
Users can freeze rows and columns at the top, bottom, left, and right positions, similar to Excel. Horizontal and vertical scrolling can be performed, except on fixed columns and rows.
Display additional columns that are not bound to data. The control supports an expression to calculate values among columns.
Display rows at the top and bottom of the grid with data that is not bound to the ItemsSource.
Dynamically merge data in adjacent cells and present that data in a single cell. Merge data based on content by writing your own custom logic.
Stacked headers (column header span) allow users to show unbound header rows. They span the stacked header columns across multiple rows and columns.
Column width can be adjusted (auto fit) based on the content of any column or column header. All the columns can be fit within the viewport of the datagrid.
A master-details view (nested grid view) can be represented through nested grids that can be expanded and collapsed. Functionalities like editing, sorting, filtering, and grouping are supported. Unlimited levels of nested grid relationships are allowed.
Display the additional information of a row using a template. View the record template by expanding and collapsing the record as required.
Create records on demand by automatically enabling data virtualization. Load millions of records of data instantly with virtualization enabled.
Load data while horizontally scrolling (on-demand data loading). This is supported when the ItemsSource is derived from the ISupportIncrementalLoading interface.
Manipulate data using the SfDataPager control to view records in multiple pages. SfDataPager also supports on-demand loading of data.
The appearance of a datagrid and its inner elements, such as rows, cells, columns, headers, and summary rows, can be customized easily by using styles and templates.
Drag and drop rows within a control or between controls.
Users can change the visibility of columns at runtime using the customizable column chooser UI.
The WPF DataGrid control provides an entirely custom context menu to expose the functionality on the user interface. Users can create context menus for different rows such as record row, summary row, and group caption header in an efficient manner.
Perform clipboard operations such as cut, copy, and paste within a control and between other applications such as Notepad or Excel.
Serialize the WPF datagrid settings to XML format and load back (deserialization) to datagrid using the built-in serialization options.
Localize all the static default strings in the WPF datagrid to any desired language.
Supports right to left (RTL) direction for users working in right-to-left languages like Hebrew, Arabic, or Persian.
The WPF DataGrid control is compatible with Coded UI and UFT (formerly QTP) automation tools to automate the application with the DataGrid control.