Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/macgile/filterdatagrid-beta

WPF Filterable Datagrid, multi language
https://github.com/macgile/filterdatagrid-beta

c-sharp dotnet wpf

Last synced: about 9 hours ago
JSON representation

WPF Filterable Datagrid, multi language

Awesome Lists containing this project

README

        

# WPF Filterable DataGrid, multi language

The new filtering method is completely different from the current version or the one commonly used to filter data (as far as I know).
Its operation is the closest to that of Excel.

![datagrid image demo](FilterDataGrid.png)

## How to use

- Add **Namespace** into your xaml :

```xml
:warning: **Before version 1.2.5.2**, you must set the "Time" part of the DateTime fields to zero, otherwise the filter doesn't work.
[see the documentation "Standard date and time format strings"](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings)

- **Custom TextColumn**
> *If you add custom columns, you must set **AutoGenerateColumns="False"***

```xml

:warning: ***FieldName** property of **DataGridTemplateColumn** is required*

```xml

You can define a global style which overrides the default style of "FilterDataGrid"

```xml

<Setter Property="Margin" Value="10" />
<Setter Property="RowHeaderWidth" Value="40" />
...

```

## Benchmark

> Intel Core i7, 2.93 GHz, 16 GB, Windows 10, 64 bits.
> Tested on the "Last name" column of the demo application using a random distinct name generator, between 5 and 8 letters in length.
> *The elapsed time decreases based on the number of columns and filtered items.*

Number of rows | Opening of the PopUp | Applying the filter | Total (PopUp + Filter)
--- | --- | --- | ---
10 000 | < 1 second | < 1 second | < 1 second
100 000 | < 1 second | < 1 second | < 1 second
500 000 | ± 2.5 second | < 1 second | ± 2.6 second
1 000 000 | ± 4.5 second | < 1 second | ± 4.8 second

## Demonstration

![datagrid image demo](capture.gif)

## Contributors