Trusted by the world’s leading companies
Overview
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.
High Performance
The WPF DataGrid loads millions of records in just a second without any performance degradation with the help of row and column virtualization.
Instant loading
The WPF DataGrid can load millions of records instantly.
Fast data processing
Data processing operations like sorting, filtering, grouping, summarizing, and real-time updating are handled efficiently using PLINQ.
Print and export
Quickly print and export the WPF DataGrid to Excel, CSV, and PDF file formats.
Data binding
The WPF DataGrid has data-binding support to work out of the box with all popular data sources like SQL Server, Oracle, data tables, and IEnumerable, and data providers like LINQ to SQL, ADO.NET, Entity Framework, and WCF Data Service.
Seamless editing experience
- 15+ built-in column types such as combo box, date-time, and multicolumn drop-down.
- Embed any control, such as a progress bar or rating, to view or edit the data in a cell.
- Commit or rollback changes when the data object implements IEditableObject.
- Add new records dynamically.
Built-in data error indication and validation
Validate cells and display error information based on the following validation types:
Also, it’s possible to use:
- Cell validation
- Row validation
- Custom validation
Data operations
Sorting
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.
Grouping
Group data by one or more columns either through mouse and touch interactivity in the group drop area or in code behind. Or, you can group data with custom logic.
Filter
Filter data with the row filter or an intuitive, built-in, Excel-inspired filtering UI.
Summaries
Calculate and display sum, minimum, maximum, average, count, and custom aggregates in a table or group. Calculate summaries for selected records. Display summaries with different summary types, such as:
- Total or table summary
- Group summary
- Summary in group caption or header
- Custom summary
Data manipulation
Real-time updates
The WPF 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 summaries are displayed in real-time scenarios.
Built-in add new row
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 row
Delete selected records in a WPF DataGrid by pressing the Delete key. You can change it to another key instead of the default, too.
Text search
Search and highlight text in the WPF DataGrid and filter records based on the search text.
Selection
Select rows or cells in a similar way to Excel for all keyboard navigations.
Conditional formatting
Customize the appearance of cells, rows, or columns based on data.
Row and column customization
Row height
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.
Freeze panes
Users can freeze rows and columns at the top, bottom, left, and right positions, similar to in Excel. Horizontal and vertical scrolling can be performed, except on fixed columns and rows.
Unbound column
Display additional columns that are not bound to data. The control supports an expression to calculate values among columns.
Unbound row
Display rows at the top and bottom of the grid with data that is not bound to the ItemsSource.
Cell merging
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
Stacked headers (multiple header rows) allow users to show unbound header rows. They span the stacked header columns across multiple rows and columns.
Column auto sizing
The WPF DataGrid provides auto-sizing options like auto-fit columns based on content, fit all columns within a view port, fill the last column to view port size, etc.
Master-details view
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.
Record template view
Display the additional information of a row using a template. View the record template by expanding and collapsing the record as required.
Data virtualization
Create records on demand by automatically enabling data virtualization. Load millions of records of data instantly with virtualization enabled.
Incremental loading
Load data while horizontally scrolling (on-demand data loading). This is supported when the ItemsSource is derived from the ISupportIncrementalLoading interface.
Paging
Manipulate data using the DataPager control to view records in multiple pages. DataPager also supports on-demand loading of data.
Appearance style
The appearance of a data grid and its inner elements, such as rows, cells, columns, headers, and summary rows, can be customized easily using styles and templates.
Row drag and drop
Drag and drop rows within WPF DataGrid or between controls.
Column chooser
Users can change the visibility of columns at runtime using the customizable column chooser UI.
Context menu
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 a record row, summary row, and group caption header in an efficient manner.
Clipboard operations
Perform clipboard operations such as cut, copy, and paste within a control and between other applications such as Notepad or Excel.
Tooltip
Tooltips display additional information in a pop-up window when the pointer hovers over cells in the DataGrid.
Themes
Choose from 27 built-in themes using the SfSkinManager for a rich user interface. Easily customize all aspects of the DataGrid appearance using the Theme Studio utility.
Exporting
Excel, PDF, CSV export
Easily export the WPF DataGrid control to various file formats such as Excel, PDF, or CSV.
Print the DataGrid with several printing customization options.
Serialization
Serialize the WPF DataGrid settings to XML format and load back (deserialization) to a data grid using the built-in serialization options.
Localization
Localization
Localize all the static, default strings in the WPF DataGrid to any supported language.
Right to left (RTL)
DataGrid supports right-to-left (RTL) rendering for users working in right-to-left languages like Hebrew, Arabic, or Persian.
UI Automation
The WPF DataGrid control is compatible with Coded UI and UFT (formerly QTP) automation tools to automate an application with the DataGrid control.
Gridlines Customization
The WPF DataGrid allows you to customize the gridline visibility with the following options:
WPF DataGrid Code Example
Easily get started with the WPF DataGrid using a few simple lines of XAML or C# code example as demonstrated below. Also explore our WPF DataGrid Example that shows you how to render and configure the data grid.
<Window x:Class="SfDataGridSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:local="clr-namespace:SfDataGridSample"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<local:ViewModel/>
</Window.DataContext>
<Grid>
<syncfusion:SfDataGrid x:Name="dataGrid"
ItemsSource="{Binding Orders}"
AutoGenerateColumns="True"/>
</Grid>
</Window>namespace SfDataGridSample
{
public class OrderInfo
{
int orderID;
string customerId;
string country;
string customerName;
string shippingCity;
public int OrderID
{
get { return orderID; }
set { orderID = value; }
}
public string CustomerID
{
get { return customerId; }
set { customerId = value; }
}
public string CustomerName
{
get { return customerName; }
set { customerName = value; }
}
public string Country
{
get { return country; }
set { country = value; }
}
public string ShipCity
{
get { return shippingCity; }
set { shippingCity = value; }
}
public OrderInfo(int orderId, string customerName, string country, string customerId, string shipCity)
{
this.OrderID = orderId;
this.CustomerName = customerName;
this.Country = country;
this.CustomerID = customerId;
this.ShipCity = shipCity;
}
}
public class ViewModel
{
private ObservableCollection<OrderInfo> _orders;
public ObservableCollection<OrderInfo> Orders
{
get { return _orders; }
set { _orders = value; }
}
public ViewModel()
{
_orders = new ObservableCollection<OrderInfo>();
this.GenerateOrders();
}
private void GenerateOrders()
{
_orders.Add(new OrderInfo(1001, "Maria Anders", "Germany", "ALFKI", "Berlin"));
_orders.Add(new OrderInfo(1002, "Ana Trujilo", "Mexico", "ANATR", "Mexico D.F."));
_orders.Add(new OrderInfo(1003, "Antonio Moreno", "Mexico", "ANTON", "Mexico D.F."));
_orders.Add(new OrderInfo(1004, "Thomas Hardy", "UK", "AROUT", "London"));
_orders.Add(new OrderInfo(1005, "Christina Berglund", "Sweden", "BERGS", "Lula"));
}
}
}Not sure how to create your first WPF DataGrid? Our tutorial videos and documentation can help.
I’d love to watch it now I’d love to read it now145+ WPF CONTROLS
Frequently Asked Questions
Why should you choose Syncfusion WPF DataGrid?
The Syncfusion WPF DataGrid supports the following features:
Loads millions of records in just a second.
Flexible data binding with support to use data sources such as WCF, ADO.NET, LINQ to SQL and Microsoft Access.
Rich UI interaction and keyboard navigation to interact with the software.
Packed with a bunch of features with customization options suitable for building complex, large-scale applications.
- One of the best WPF DataGrid in the market that offers feature-rich UI to interact with the software.
- Simple configuration and API.
- Touch friendly and responsive.
Extensive demos, documentation to learn quickly and get started with WPF DataGrid.
Can I download and utilize the Syncfusion WPF DataGrid for free?
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, 5 or fewer developers, and 10 or fewer total employees.
How do I get started with Syncfusion WPF DataGrid?
A good place to start would be our comprehensive getting started documentation.
Our Customers Love Us
Here are some of their experiences.
Awards
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.