In order to achieve this, you need to follow the steps below:
1. Create DataGrid’s Rows, Columns and fill it with sample data.
C#
for (int i = 0; i < 20; i++)
{
this.dataGrid1.ColumnsHierarchy.Items.Add("Column " + i);
this.dataGrid1.RowsHierarchy.Items.Add("Row " + i);
}
this.dataGrid1.AllowContextMenuFiltering = true;
this.dataGrid1.AllowContextMenuSorting = true;
Random random = new Random();
for (int i = 0; i < 20; i++)
{
HierarchyItem row = this.dataGrid1.RowsHierarchy.Items[i];
for (int j = 0; j < 20; j++)
{
HierarchyItem column = this.dataGrid1.ColumnsHierarchy.Items[j];
column.AllowFiltering = true;
this.dataGrid1.CellsArea.SetCellValue(row, column, (double)i);
}
}
this.dataGrid1.ColumnsHierarchy.AutoResize(AutoResizeMode.FIT_ALL);
this.dataGrid1.RowsHierarchy.AutoResize(AutoResizeMode.FIT_ALL);
VB .NET
For i As Integer = 0 To 19
Me.dataGrid1.ColumnsHierarchy.Items.Add("Column " & i)
Me.dataGrid1.RowsHierarchy.Items.Add("Row " & i)
Next i
Me.dataGrid1.AllowContextMenuFiltering = True
Me.dataGrid1.AllowContextMenuSorting = True
Dim random As New Random()
For i As Integer = 0 To 19
Dim row As HierarchyItem = Me.dataGrid1.RowsHierarchy.Items(i)
For j As Integer = 0 To 19
Dim column As HierarchyItem = Me.dataGrid1.ColumnsHierarchy.Items(j)
column.AllowFiltering = True
Me.dataGrid1.CellsArea.SetCellValue(row, column, CDbl(i))
Next j
Next i
Me.dataGrid1.ColumnsHierarchy.AutoResize(AutoResizeMode.FIT_ALL)
Me.dataGrid1.RowsHierarchy.AutoResize(AutoResizeMode.FIT_ALL)
2. Create a new NumericFilter and set its ComparisonOperator and Value properties
C#
NumericFilter filter = new NumericFilter();
filter.ComparisonOperator = NumericComparisonOperator.GREATER_THAN;
filter.Value = 5;
FilterGroup<double?> filterGroup = new FilterGroup<double?>();
filterGroup.AddFilter(FilterOperator.AND, filter);
VB .NET
Dim filter As New NumericFilter()
filter.ComparisonOperator = NumericComparisonOperator.GREATER_THAN
filter.Value = 5
Dim filterGroup As FilterGroup(Of Nullable(Of Double)) = New FilterGroup(Of Nullable(Of Double))()
filterGroup.AddFilter(FilterOperator.AND, filter)
3. Create a new HierarchyItemFilter object and add the FilterGroup to it.
C#
HierarchyItemFilter itemFilter = new HierarchyItemFilter();
itemFilter.Item = this.dataGrid1.ColumnsHierarchy.Items[0];
itemFilter.Filter = filterGroup;
VB .NET
Dim itemFilter As New HierarchyItemFilter()
itemFilter.Item = Me.dataGrid1.ColumnsHierarchy.
itemFilter.Filter = filterGroup
4. Finally, add the HierarchyItemFilter instance to the Filters collection of the DataGrid’s RowsHierarchy.
C#
this.dataGrid1.RowsHierarchy.Filters.Add(itemFilter);
VB .NET
Me.dataGrid1.RowsHierarchy.Filters.Add(itemFilter)