Skip to content

dotnet/DataGridExtensions

Repository files navigation

Data Grid Extensions Build Status NuGet Status

Icon

Modular extensions for the WPF DataGrid control.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

.NET Foundation

This project is supported by the

.NET Foundation

Summary

This package contains useful extensions for the WPF DataGrid (System.Windows.Controls.DataGrid).

The current version supports the following features and behaviors:

  • Add filtering capabilities to the DataGrid
  • Apply the initial sorting
  • Disable another control while in editing mode
  • Provide additional column events
  • Start editing a cell with Ctrl+Enter
  • Provide an extended star-size column behavior
  • Methods to easily implement Excel-like copy/paste

The binaries are available as NuGet packages.

Read the Documentation about how to use these features. The API Documentation describes the global API for DGX.

Every feature is individually configurable.

This extension is

  • Easy to use
  • Easy to customize
  • Attaches to the existing DataGrid

Unlike many other free extensions this package does not introduce a new derived DataGrid class, limiting you a fixed set of features that you have to live with, but transparently attaches to the existing DataGrid, giving you the freedom to use exactly the feature you need, customizing them as you like, and combining them with other useful extensions.

Filtering is enabled by simply adding one attached property to your DataGrid:

<DataGrid ItemsSource="{Binding Items}" 
          dgx:DataGridFilter.IsAutoFilterEnabled="True"/>

You will get a simple but efficient text or boolean filter, depending on the column type: Sample1

Every part is easily customizable by providing simple styles or templates:

<DataGridTextColumn Header="Double/Custom" 
                    Binding="{Binding Probability, Mode=OneWay}" 
                    dgx:DataGridFilterColumn.Template="{StaticResource FilterWithPopup}"/>

By overriding the default template you can simply create individual filters:

Sample2

For a full functional demo run the sample app or see the ResX Resource Manager or Project Configuration Manager projects that use the filtering extensions.

Powered by   ReSharper    

Support this Project: Donate