{"id":2272,"date":"2024-10-17T17:17:52","date_gmt":"2024-10-17T17:17:52","guid":{"rendered":"http:\/\/localhost:10003\/?p=2272"},"modified":"2025-08-04T13:55:30","modified_gmt":"2025-08-04T13:55:30","slug":"filtrage-dans-la-grille-de-donnees-xceed-pour-wpf","status":"publish","type":"post","link":"https:\/\/xceed.com\/fr\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/","title":{"rendered":"Filtrage dans Xceed DataGrid pour WPF"},"content":{"rendered":"<p>En savoir plus sur&nbsp;<a href=\"http:\/\/xceed.com\/en\/our-products\/product\/datagrid-for-wpf\" target=\"_blank\" rel=\"noreferrer noopener\">Xceed DataGrid pour WPF<\/a><\/p>\n\n\n\n<p>La derni\u00e8re fois que nous avons examin\u00e9 la grille de donn\u00e9es pour WPF, nous avons abord\u00e9 le regroupement et le tri. Aujourd'hui, nous allons nous pencher sur les options de filtrage offertes par la grille de donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Options de filtrage<\/h2>\n\n\n\n<p>La grille de donn\u00e9es pour WPF offre trois fa\u00e7ons de d\u00e9finir un filtre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Filtrage natif des CollectionView (\u00e0 l'aide du param\u00e8tre Filter de la CollectionViewSource)<\/li>\n\n\n\n<li>Filtrage automatique (\u00e0 l'aide de la commande AutoFilterControl)<\/li>\n\n\n\n<li>Filtrage avanc\u00e9 (\u00e0 l'aide de FilterRow)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Filtrage natif des CollectionViews<\/h2>\n\n\n\n<p>Les donn\u00e9es affich\u00e9es dans une grille peuvent \u00eatre filtr\u00e9es \u00e0 l'aide de la fonction&nbsp;<em>Filtre<\/em>&nbsp;de la propri\u00e9t\u00e9&nbsp;<em>DataGridCollectionViewBase<\/em>&nbsp;ou le&nbsp;<em>Filtre<\/em>&nbsp;de l'\u00e9v\u00e9nement&nbsp;<em>DataGridCollectionViewSourceBase<\/em>&nbsp;\u00e0 laquelle il est li\u00e9.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">&lt;Grid xmlns:xcdg=\"http:\/\/schemas.xceed.com\/wpf\/xaml\/datagrid\"&gt;\n\t&lt;Grid.Resources&gt;\n\t\t&lt;xcdg:DataGridCollectionViewSource x:Key=\"cvs_orders\"\n\t\t\t\t\t\t   Source=\"{Binding Source={x:Static Application.Current},Path=Orders}\"\n\t\t\t\t\t\t   Filter=\"ShipViaFilter\"\/&gt;\n\t&lt;\/Grid.Resources&gt;\n\t&lt;xcdg:DataGridControl x:Name=\"OrdersGrid\"\n\t\t\t      ItemsSource=\"{Binding Source={StaticResource cvs_orders}}\"\/&gt;\n&lt;\/Grid&gt;\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">private void ShipViaFilter( object sender, FilterEventArgs e )\n{\n\tobject value = ( ( System.Data.DataRow )e.Item )&#91; \"ShipVia\" ];\n\tif( ( value != null ) &amp;&amp; ( value != DBNull.Value ) )\n\t{\n\t\tif( ( int )value == 3 )\n\t\t{\n\t\t\te.Accepted = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\te.Accepted = false;\n\t\t}\n\t}\n}\n<\/code><\/pre>\n\n\n\n<p>Pour filtrer \u00e0 nouveau les \u00e9l\u00e9ments de donn\u00e9es affich\u00e9s dans une vue, la fonction&nbsp;<em>La m\u00e9thode de rafra\u00eechissement peut \u00eatre appel\u00e9e sur la source ItemsSource.<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">( ( DataGridCollectionView )this.OrdersGrid.ItemsSource ).Refresh();\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Filtrage automatique<\/h2>\n\n\n\n<p>Le&nbsp;<em>DataGridCollectionView<\/em>&nbsp;et&nbsp;<em>DataGridDetailDescription<\/em>&nbsp;prennent en charge le filtrage automatique, qui permet \u00e0 l'utilisateur final d'effectuer un filtrage similaire \u00e0 celui d'Excel en fonction des valeurs distinctes de chaque colonne. Le filtrage automatique peut \u00eatre activ\u00e9 en d\u00e9finissant la propri\u00e9t\u00e9&nbsp;<em>AutoFilterMode<\/em>&nbsp;\u00e0 la propri\u00e9t\u00e9&nbsp;<strong>Et<\/strong>&nbsp;ou&nbsp;<strong>Ou<\/strong>&nbsp;(<strong>Aucun<\/strong>&nbsp;par d\u00e9faut), indiquant si les \u00e9l\u00e9ments de donn\u00e9es seront filtr\u00e9s en fonction de&nbsp;<strong>tous<\/strong>&nbsp;ou&nbsp;<strong>au moins un<\/strong>&nbsp;des crit\u00e8res de filtrage d\u00e9finis par la commande de filtrage automatique de chaque colonne. Les crit\u00e8res de filtrage&nbsp;<em>Contrainte de valeurs distinctes<\/em>&nbsp;peut \u00e9galement \u00eatre d\u00e9finie pour d\u00e9terminer si les valeurs distinctes doivent \u00eatre filtr\u00e9es en fonction du r\u00e9sultat des op\u00e9rations de filtrage automatique pr\u00e9c\u00e9dentes.<\/p>\n\n\n\n<p>Option1 : d\u00e9finir dans XAML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">&lt;Grid xmlns:xcdg=\"http:\/\/schemas.xceed.com\/wpf\/xaml\/datagrid\"&gt;\n\t&lt;Grid.Resources&gt;\n\t\t&lt;xcdg:DataGridCollectionViewSource x:Key=\"cvs_orders\"\n\t\t\t\t\t\t   Source=\"{Binding Source={x:Static Application.Current},Path=Orders}\"\n\t\t\t\t\t\t   AutoFilterMode=\"And\"\n\t\t\t\t\t\t   DistinctValuesConstraint=\"Filtered\"\n\t\t\t\t\t\t   AutoCreateItemProperties=\"False\"&gt;\n\t\t\t&lt;xcdg:DataGridCollectionViewSource.ItemProperties&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShipCountry\"\n\t\t\t\t\t\t\t   Title=\"Country\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShipCity\"\n\t\t\t\t\t\t\t   Title=\"City\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShipAddress\"\n\t\t\t\t\t\t\t   Title=\"Address\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShipPostalCode\"\n\t\t\t\t\t\t\t   Title=\"Postal Code\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShipName\"\n\t\t\t\t\t\t\t   Title=\"Name\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"False\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"OrderDate\"\n\t\t\t\t\t\t\t   Title=\"Order Date\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"False\"\/&gt;            \n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"Freight\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"False\"\/&gt;\n\t\t\t&lt;\/xcdg:DataGridCollectionViewSource.ItemProperties&gt;\n\t\t&lt;\/xcdg:DataGridCollectionViewSource&gt;\n\t&lt;\/Grid.Resources&gt;\n\t&lt;xcdg:DataGridControl x:Name=\"OrdersGrid\"\n\t\t\t      ItemsSource=\"{Binding Source={StaticResource cvs_orders}}\"\/&gt;\n&lt;\/Grid&gt;\n<\/code><\/pre>\n\n\n\n<p>Opion 2 : d\u00e9finir dans le code-behind<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">DataGridCollectionView view = new DataGridCollectionView( Orders, typeof( System.Data.DataRow ), false, false );\nview.AutoFilterMode = AutoFilterMode.And;\nview.DistinctValuesConstraint = DistinctValuesConstraint.Filtered;\nview.ItemProperties.Add( new DataGridItemProperty( \"ShipCountry\", typeof( string ) ) );\nview.ItemProperties.Add( new DataGridItemProperty( \"ShipCity\", typeof( string ) ) );\nview.ItemProperties.Add( new DataGridItemProperty( \"ShipAddress\", typeof( string ) ) );\nview.ItemProperties.Add( new DataGridItemProperty( \"ShipPostalCode\", typeof( string ) ) );\n\nDataGridItemProperty shipName = new DataGridItemProperty( \"ShipName\", typeof( string ) );\nshipName.CalculateDistinctValues = false;\nview.ItemProperties.Add( shipName );\n\nDataGridItemProperty orderDate = new DataGridItemProperty( \"OrderDate\", typeof( DateTime ) );\norderDate.CalculateDistinctValues = false;\nview.ItemProperties.Add( orderDate );\n\nDataGridItemProperty freight = new DataGridItemProperty( \"Freight\", typeof( double ) );\nfreight.CalculateDistinctValues = false;\nview.ItemProperties.Add( freight );\n\ndataGridControl.ItemsSource = view;  \n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Filtrage avanc\u00e9<\/h2>\n\n\n\n<p>En plus du filtrage automatique, la grille fournit une&nbsp;<em>FilterRow<\/em>&nbsp;qui permet aux utilisateurs de sp\u00e9cifier une expression de filtrage utilis\u00e9e par la fonction&nbsp;<em>DataGridCollectionView<\/em>&nbsp;pour filtrer les \u00e9l\u00e9ments de donn\u00e9es. Les expressions de filtrage saisies dans&nbsp;<em>Cellule de filtrage<\/em>&nbsp;suivent une syntaxe et des r\u00e8gles sp\u00e9cifiques. L'apprentissage de ces r\u00e8gles peut s'av\u00e9rer fastidieux pour les utilisateurs, et c'est l\u00e0 que le filtrage avanc\u00e9 vient \u00e0 la rescousse. Le filtrage avanc\u00e9 fournit une interface utilisateur qui aide les utilisateurs \u00e0 construire des expressions de filtrage sans avoir \u00e0 apprendre une autre syntaxe.<\/p>\n\n\n\n<p>Le filtrage avanc\u00e9 peut \u00eatre activ\u00e9 en d\u00e9finissant le param\u00e8tre&nbsp;<em>AdvancedFilterMode<\/em>&nbsp;\u00e0 une valeur autre que&nbsp;<strong>Aucun<\/strong>qui est la valeur par d\u00e9faut. Le mode choisi indique comment le contr\u00f4le du filtrage avanc\u00e9 est d\u00e9clench\u00e9. Notez qu'il est possible de d\u00e9sactiver le filtrage avanc\u00e9 pour chaque colonne en d\u00e9finissant le param\u00e8tre&nbsp;<em>AllowAdvancedFilter<\/em>&nbsp;\u00e0 la propri\u00e9t\u00e9&nbsp;<strong>faux<\/strong>&nbsp;(<strong>vrai<\/strong>&nbsp;par d\u00e9faut), cela emp\u00eachera l'affichage du contr\u00f4le de filtre avanc\u00e9 pour cette colonne.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">&lt;Grid xmlns:xcdg=\"http:\/\/schemas.xceed.com\/wpf\/xaml\/datagrid\"&gt;\n\t&lt;Grid.Resources&gt;\n\t\t&lt;xcdg:DataGridCollectionViewSource x:Key=\"cvs_orders\"\n\t\t\t\t\t\t   Source=\"{Binding Source={x:Static Application.Current}, Path=Orders}\" \/&gt;\n\t&lt;\/Grid.Resources\/&gt;\n\t&lt;xcdg:DataGridControl x:Name=\"OrdersGrid\"\n\t\t\t      ItemsSource=\"{Binding Source={StaticResource cvs_orders}}\"&gt;\n\t\t&lt;xcdg:DataGridControl.Columns&gt;\n\t\t\t&lt;xcdg:Column FieldName=\"ShipCountry\"\n\t\t\t\t     AllowAdvancedFilter=\"False\" \/&gt;\n\t\t&lt;\/xcdg:DataGridControl.Columns&gt;\n\t\t&lt;xcdg:DataGridControl.View&gt;\n\t\t\t&lt;xcdg:TableflowView AdvancedFilterMode=\"Always\" \/&gt;\n\t\t&lt;\/xcdg:DataGridControl.View&gt;\n\t&lt;\/xcdg:DataGridControl&gt;\n&lt;\/Grid&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Valeurs distinctes personnalis\u00e9es<\/h2>\n\n\n\n<p>Par d\u00e9faut, les valeurs affich\u00e9es dans le menu d\u00e9roulant du filtre automatique repr\u00e9sentent les valeurs distinctes telles qu'elles sont extraites de la source de donn\u00e9es sous-jacente. Toutefois, des valeurs distinctes personnalis\u00e9es peuvent \u00eatre fournies pour une ou plusieurs propri\u00e9t\u00e9s d'\u00e9l\u00e9ment plut\u00f4t que les valeurs distinctes extraites \u00e0 l'origine, en g\u00e9rant leurs propri\u00e9t\u00e9s&nbsp;<em>QueryDistinctValue<\/em>&nbsp;et renvoie la valeur personnalis\u00e9e.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">&lt;Grid xmlns:xcdg=\"http:\/\/schemas.xceed.com\/wpf\/xaml\/datagrid\"&gt;\n\t&lt;Grid.Resources&gt;\n\t\t&lt;xcdg:DataGridCollectionViewSource x:Key=\"cvs_orders\"\n\t\t\t\t\t\t   Source=\"{Binding Source={x:Static Application.Current}, Path=Orders}\"\n\t\t\t\t\t\t   AutoFilterMode=\"And\"\n\t\t\t\t\t\t   DefaultCalculateDistinctValues=\"False\"&gt;\n\t\t\t&lt;xcdg:DataGridCollectionViewSource.ItemProperties&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"OrderDate\"\n\t\t\t\t\t\t\t   QueryDistinctValue=\"DataGridItemProperty_QueryDistinctValue_Date\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"True\"\/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"RequiredDate\"\n\t\t\t\t\t\t\t   QueryDistinctValue=\"DataGridItemProperty_QueryDistinctValue_Date\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"True\" \/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"ShippedDate\"\n\t\t\t\t\t\t\t   QueryDistinctValue=\"DataGridItemProperty_QueryDistinctValue_Date\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"True\" \/&gt;\n\t\t\t\t&lt;xcdg:DataGridItemProperty Name=\"Freight\"\n\t\t\t\t\t\t\t   QueryDistinctValue=\"DataGridItemProperty_QueryDistinctValue_Range\"\n\t\t\t\t\t\t\t   CalculateDistinctValues=\"True\" \/&gt;\n\t\t\t&lt;\/xcdg:DataGridCollectionViewSource.ItemProperties&gt;\n\t\t&lt;\/xcdg:DataGridCollectionViewSource&gt;\n\t&lt;\/Grid.Resources&gt;\n\t&lt;xcdg:DataGridControl x:Name=\"OrdersGrid\"\n\t\t\t      ItemsSource=\"{Binding Source={StaticResource cvs_orders}}\"\/&gt;\n&lt;\/Grid&gt;\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code data-no-translation=\"\">private void DataGridItemProperty_QueryDistinctValue_Date( object sender, QueryDistinctValueEventArgs e )\n{\n\tif( e.DataSourceValue is DateTime )\n\t{\n\t\te.DistinctValue = ( ( DateTime )e.DataSourceValue ).ToString( \"MMMM\" );\n\t}\n}\nprivate void DataGridItemProperty_QueryDistinctValue_Range( object sender, QueryDistinctValueEventArgs e )\n{\n\tif( e.DataSourceValue is decimal )\n\t{\n\t\tdecimal value = ( decimal )e.DataSourceValue;\n\t\tif( value &lt;= 100 )\n\t\t{\n\t\t\te.DistinctValue = \"0 - 100\";\n\t\t}\n\t\telse if( value &gt; 100 &amp;&amp; value &lt;= 500 )\n\t\t{\n\t\t\te.DistinctValue = \"101 - 500\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\te.DistinctValue = \"500+\";\n\t\t}\n\t}\n}\n<\/code><\/pre>\n\n\n\n<p>Pour plus d'informations, veuillez vous r\u00e9f\u00e9rer \u00e0 la&nbsp;<a href=\"https:\/\/doc.xceed.com\/xceed-datagrid-for-wpf\/webframe.html#rootWelcome.html\" target=\"_blank\" rel=\"noreferrer noopener\">la documentation<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>La grille de donn\u00e9es pour WPF offre trois fa\u00e7ons de d\u00e9finir un filtre : Filtrage natif de CollectionView (en utilisant le param\u00e8tre Filter sur CollectionViewSource), Filtrage automatique (en utilisant le AutoFilterControl) et Filtrage avanc\u00e9 (en utilisant le FilterRow).<\/p>","protected":false},"author":2,"featured_media":2238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[141,60],"tags":[],"class_list":["post-2272","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","category-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Filtering in Xceed DataGrid for WPF - Xceed<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xceed.com\/fr\/blog\/tutoriels\/filtrage-dans-la-grille-de-donnees-xceed-pour-wpf\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Filtering in Xceed DataGrid for WPF - Xceed\" \/>\n<meta property=\"og:description\" content=\"The DataGrid for WPF offers 3 ways to set a filter: Native CollectionView Filtering (using the Filter parameter on the CollectionViewSource), Automatic Filtering (using the AutoFilterControl) and Advanced Filtering (using the FilterRow)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xceed.com\/fr\/blog\/tutoriels\/filtrage-dans-la-grille-de-donnees-xceed-pour-wpf\/\" \/>\n<meta property=\"og:site_name\" content=\"Xceed\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-17T17:17:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T13:55:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alain Jreij\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alain Jreij\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/\"},\"author\":{\"name\":\"Alain Jreij\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/2d9169e6fd8ae4a8f58a9e1cc9a73778\"},\"headline\":\"Filtering in Xceed DataGrid for WPF\",\"datePublished\":\"2024-10-17T17:17:52+00:00\",\"dateModified\":\"2025-08-04T13:55:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/\"},\"wordCount\":488,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/blog_DGP-1.png\",\"articleSection\":[\"All\",\"Tutorials\"],\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/\",\"name\":\"Filtering in Xceed DataGrid for WPF - Xceed\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/blog_DGP-1.png\",\"datePublished\":\"2024-10-17T17:17:52+00:00\",\"dateModified\":\"2025-08-04T13:55:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#primaryimage\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/blog_DGP-1.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/blog_DGP-1.png\",\"width\":350,\"height\":350},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/xceed.com\\\/blog\\\/tutorials\\\/filtering-in-xceed-datagrid-for-wpf\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/xceed.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Filtering in Xceed DataGrid for WPF\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"name\":\"Xceed\",\"description\":\"Provides tools for .NET, Windows Forms, WPF, Silverlight, and ASP.NET developers to create better applications.\",\"publisher\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/xceed.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#organization\",\"name\":\"Xceed\",\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-xceed-logo.png\",\"contentUrl\":\"https:\\\/\\\/xceed.com\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/cropped-xceed-logo.png\",\"width\":609,\"height\":150,\"caption\":\"Xceed\"},\"image\":{\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/xceed.com\\\/fr\\\/#\\\/schema\\\/person\\\/2d9169e6fd8ae4a8f58a9e1cc9a73778\",\"name\":\"Alain Jreij\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g\",\"caption\":\"Alain Jreij\"},\"url\":\"https:\\\/\\\/xceed.com\\\/fr\\\/blog\\\/author\\\/jreijaxceed-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Filtrage dans Xceed DataGrid pour WPF - Xceed","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xceed.com\/fr\/blog\/tutoriels\/filtrage-dans-la-grille-de-donnees-xceed-pour-wpf\/","og_locale":"fr_CA","og_type":"article","og_title":"Filtering in Xceed DataGrid for WPF - Xceed","og_description":"The DataGrid for WPF offers 3 ways to set a filter: Native CollectionView Filtering (using the Filter parameter on the CollectionViewSource), Automatic Filtering (using the AutoFilterControl) and Advanced Filtering (using the FilterRow)","og_url":"https:\/\/xceed.com\/fr\/blog\/tutoriels\/filtrage-dans-la-grille-de-donnees-xceed-pour-wpf\/","og_site_name":"Xceed","article_published_time":"2024-10-17T17:17:52+00:00","article_modified_time":"2025-08-04T13:55:30+00:00","og_image":[{"width":350,"height":350,"url":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png","type":"image\/png"}],"author":"Alain Jreij","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alain Jreij","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#article","isPartOf":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/"},"author":{"name":"Alain Jreij","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/2d9169e6fd8ae4a8f58a9e1cc9a73778"},"headline":"Filtering in Xceed DataGrid for WPF","datePublished":"2024-10-17T17:17:52+00:00","dateModified":"2025-08-04T13:55:30+00:00","mainEntityOfPage":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/"},"wordCount":488,"commentCount":0,"publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"image":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png","articleSection":["All","Tutorials"],"inLanguage":"fr-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/","url":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/","name":"Filtrage dans Xceed DataGrid pour WPF - Xceed","isPartOf":{"@id":"https:\/\/xceed.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#primaryimage"},"image":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#primaryimage"},"thumbnailUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png","datePublished":"2024-10-17T17:17:52+00:00","dateModified":"2025-08-04T13:55:30+00:00","breadcrumb":{"@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/"]}]},{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#primaryimage","url":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/10\/blog_DGP-1.png","width":350,"height":350},{"@type":"BreadcrumbList","@id":"https:\/\/xceed.com\/blog\/tutorials\/filtering-in-xceed-datagrid-for-wpf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xceed.com\/"},{"@type":"ListItem","position":2,"name":"Filtering in Xceed DataGrid for WPF"}]},{"@type":"WebSite","@id":"https:\/\/xceed.com\/fr\/#website","url":"https:\/\/xceed.com\/fr\/","name":"Xceed","description":"Fournit des outils aux d\u00e9veloppeurs .NET, Windows Forms, WPF, Silverlight et ASP.NET pour cr\u00e9er de meilleures applications.","publisher":{"@id":"https:\/\/xceed.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xceed.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/xceed.com\/fr\/#organization","name":"Xceed","url":"https:\/\/xceed.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/04\/cropped-xceed-logo.png","contentUrl":"https:\/\/xceed.com\/wp-content\/uploads\/2024\/04\/cropped-xceed-logo.png","width":609,"height":150,"caption":"Xceed"},"image":{"@id":"https:\/\/xceed.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/xceed.com\/fr\/#\/schema\/person\/2d9169e6fd8ae4a8f58a9e1cc9a73778","name":"Alain Jreij","image":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/87ff2d1efbe1a868809d8d554724877b76941f668176489a42238d867ab8bf06?s=96&d=mm&r=g","caption":"Alain Jreij"},"url":"https:\/\/xceed.com\/fr\/blog\/author\/jreijaxceed-com\/"}]}},"_links":{"self":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts\/2272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/comments?post=2272"}],"version-history":[{"count":0,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/posts\/2272\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/media\/2238"}],"wp:attachment":[{"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/media?parent=2272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/categories?post=2272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xceed.com\/fr\/wp-json\/wp\/v2\/tags?post=2272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}