All Projects → macgile → DataGridFilter

macgile / DataGridFilter

Licence: MIT license
WPF Filterable Datagrid, multi language

Programming Languages

C#
18002 projects

Labels

Projects that are alternatives of or similar to DataGridFilter

audion.cscore
An audio visualization and processing framework for WPF
Stars: ✭ 30 (-77.61%)
Mutual labels:  wpf
PanuonUI
一个好看精致、开源无限制使用的WPF控件库。
Stars: ✭ 550 (+310.45%)
Mutual labels:  wpf
Microsoft.Toolkit.Win32
This repository contains all controls for WPF and WinForms to simplify and demonstrate usage of UWP controls
Stars: ✭ 345 (+157.46%)
Mutual labels:  wpf
HexGrid
WPF HexGrid Panel
Stars: ✭ 35 (-73.88%)
Mutual labels:  wpf
Panuon.UI.Silver
Professional wpf ui library.
Stars: ✭ 391 (+191.79%)
Mutual labels:  wpf
Vividl
Modern Windows GUI for youtube-dl/ yt-dlp
Stars: ✭ 189 (+41.04%)
Mutual labels:  wpf
ErrorControlSystem
ErrorControlSystem is a .NET library created to automate handling .NET Windows-Base application exceptions and raise that to a sql server. This exception handler have some features as screen capturing, fetch server date time in exception occurrence time and etc.
Stars: ✭ 30 (-77.61%)
Mutual labels:  wpf
AerialForWindows
Aerial For Windows is a Windows screen saver based on the new Apple TV screen saver
Stars: ✭ 30 (-77.61%)
Mutual labels:  wpf
DelaunayVoronoi
C# implementation of the Bowyer–Watson algorithm for Delaunay triangulation
Stars: ✭ 131 (-2.24%)
Mutual labels:  wpf
Volumey
Volume mixer that allows you to set up global hotkeys to control your Windows audio system.
Stars: ✭ 139 (+3.73%)
Mutual labels:  wpf
SocketChat
C# & WPF Client-Server chat application
Stars: ✭ 28 (-79.1%)
Mutual labels:  wpf
NodeGraph
Node graph control in WPF.
Stars: ✭ 55 (-58.96%)
Mutual labels:  wpf
wally-win
The Flash(ing tool)
Stars: ✭ 28 (-79.1%)
Mutual labels:  wpf
owlos
DIY Open Source OS for building IoT ecosystems
Stars: ✭ 43 (-67.91%)
Mutual labels:  wpf
Tai
👻 在Windows上统计软件使用时长
Stars: ✭ 328 (+144.78%)
Mutual labels:  wpf
Caliburn.Light
The magic-free Caliburn.Light, a powerful framework designed for building applications across current XAML platforms.
Stars: ✭ 64 (-52.24%)
Mutual labels:  wpf
AnyBox
The easiest way to develop apps for Windows.
Stars: ✭ 187 (+39.55%)
Mutual labels:  wpf
wpf-propertygrid
Repackaging of Workflow Foundation's property grid for general use in WPF applications
Stars: ✭ 55 (-58.96%)
Mutual labels:  wpf
ColorBlender
A .NET library for color matching and palette design.
Stars: ✭ 27 (-79.85%)
Mutual labels:  wpf
InvisibleMan-VPNClient
Free premium PPTP VPN
Stars: ✭ 24 (-82.09%)
Mutual labels:  wpf

WPF Filterable DataGrid, multi language

Nuget package GitHub release (latest by date)

datagrid image demo

A DataGrid control that inherits from the base DataGrid control class and override some methods to implement filters
for each column like Excel, in automatic or custom generation.

Translation of labels and formatting of dates in the following languages: Chinese, Dutch, English, French, German, Italian, Polish, Russian, Spanish.

The translations are from google translate, if you find any errors or want to add other languages, please let me know.

The Nuget package is available here.

To understand how the filter works, you can consult the article posted on CodeProject.

For operation closer to that of Excel, see the version available in the repository FilterDataGrid-Beta.
This version uses a new filtering method that is completely different from the current version or the one commonly used to filter data (as far as I know).

How to use

  • There are two ways to install :

  • NuGet command : Install-Package FilterDataGrid

  • Or manually add FilterDataGrid.dll as reference in your project

  • Add Namespace into your xaml :

    <Window xmlns:control="http://filterdatagrid.control.com/2021" ..
  • Control
  <control:FilterDataGrid 
   FilterLanguage="English" DateFormatString="d" ShowStatusBar="True" ShowElapsedTime="False"
   ExcludeFields="lastname,age,manager" ...
  • Properties

    • ShowStatusBar : displays the status bar, default : false
    • ShowElapsedTime : displays the elapsed time of filtering in status bar, default : false
    • ShowRowsCount : display the number of rows, default : false
    • FilterLanguage : translation into available language, default : English
    • ExcludeFields : comma separated fields to exclude from filter, only works in AutoGenerateColumns mode
    • DateFormatString : date display format, default : "d"

    ⚠️ 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"

  • Custom TextColumn / CheckBoxColumn

    If you add custom columns, you must set AutoGenerateColumns="False"

    <control:FilterDataGrid.Columns>   
        <control:DataGridTextColumn     IsColumnFiltered="True" ... />
        <control:DataGridCheckBoxColumn IsColumnFiltered="True" ... />
  • Custom TemplateColumn

    ⚠️ FieldName property of DataGridTemplateColumn is required

    <control:FilterDataGrid.Columns>   
        <control:DataGridTemplateColumn IsColumnFiltered="True"
                                 FieldName="LastName" ... />

Global Style

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

<Style
            x:Key="FilterDatagridStyle"
            BasedOn="{StaticResource {ComponentResourceKey TypeInTargetAssembly=control:FilterDataGrid,
                                                           ResourceId=FilterDataGridStyle}}"
            TargetType="{x:Type control:FilterDataGrid}">
            <Setter Property="Margin" Value="10" />
            <Setter Property="RowHeaderWidth" Value="40" />
     ...
</Style>

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 ± 1.5 second ± 1 second ± 2.5 seconds
1 000 000 ± 3 seconds ± 1.5 seconds ± 4.5 seconds

Demonstration

datagrid image demo

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].