Skip to content

Commit 3114e6d

Browse files
committed
Performance improvement for MultipleChoiceFilter
1 parent f531fb1 commit 3114e6d

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/DataGridExtensions/MultipleChoiceFilter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,13 @@ public class MultipleChoiceContentFilter : IContentFilter
204204
/// <param name="items">The items.</param>
205205
public MultipleChoiceContentFilter(IEnumerable<string?>? items)
206206
{
207-
Items = items?.ToArray();
207+
Items = items != null ? new HashSet<string?>(items) : null;
208208
}
209209

210210
/// <summary>
211211
/// Gets the items to filter.
212212
/// </summary>
213-
public IList<string?>? Items
213+
public ICollection<string?>? Items
214214
{
215215
get;
216216
}

src/DataGridExtensionsSample/Views/GroupingView.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
<PropertyGroupDescription PropertyName="Column5" />
1414
</CollectionViewSource.GroupDescriptions>
1515
</CollectionViewSource>
16+
<ControlTemplate x:Key="MultipleChoiceFilter">
17+
<dgx:MultipleChoiceFilter Filter="{Binding Path=Filter, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=dgx:DataGridFilterColumnControl}}" />
18+
</ControlTemplate>
1619
</UserControl.Resources>
1720
<DockPanel>
1821
<StackPanel DockPanel.Dock="Top" Margin="10">
@@ -37,7 +40,7 @@
3740
</DataGrid.Style>
3841
<DataGrid.Columns>
3942
<DataGridTextColumn Header="Index" Binding="{Binding Index}" />
40-
<DataGridTextColumn Header="Value1" Binding="{Binding Column6}" SortDirection="Ascending" />
43+
<DataGridTextColumn Header="Value1" Binding="{Binding Column6}" SortDirection="Ascending" dgx:DataGridFilterColumn.Template="{StaticResource MultipleChoiceFilter}" />
4144
<DataGridTextColumn Header="Value2" Binding="{Binding Column2}" SortDirection="Ascending" />
4245
<DataGridTextColumn Header="Value3" Binding="{Binding Column3}" />
4346
</DataGrid.Columns>

0 commit comments

Comments
 (0)