AllowAutoFilter Property
See Also  Example
Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid Namespace > ColumnManagerRow Class : AllowAutoFilter Property

Gets or sets a value indicating whether the end user can modify the values used to automatically filter the data items through the column-manager row. This feature is available only in the Professional Edition

Syntax

Visual Basic (Declaration) 
Public Property AllowAutoFilter As Boolean
C# 
public bool AllowAutoFilter {get; set;}

Return Value

true if the end user can modify the values; false otherwise. By default, true.

Example

All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following example demonstrates how to use a ComboBox as an auto-filter control to automatically filter the content of the ShipCountry column. ComboBox controls do not support multiple selections; therefore, the values of the target column will only be filtered by 1 value. Since, by default, the auto-filter control in the column-manager-cell drop downs support multiple selections, it is recommended to deactivate the drop down by setting the AllowAutoFilter property of the ColumnManagerRow to false to hide the column-manager cells' auto-filter controls and prevent unexpected synchronization behavior between the controls that have the same auto-filter target column or different selection modes.
XAMLCopy Code
<Grid> 
  <Grid.Resources> 
    <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" 
                                       Source="{Binding Source={x:Static Application.Current}, 
                                                        Path=Orders}" 
                                       AutoFilterMode="And" 
                                       DefaultCalculateDistinctValues="False"> 
      <xcdg:DataGridCollectionViewSource.ItemProperties> 
        <xcdg:DataGridItemProperty Name="ShipCountry" 
                                   Title="Country" 
                                   CalculateDistinctValues="True"/> 
        <xcdg:DataGridItemProperty Name="ShipCity" 
                                   Title="City"/> 
        <xcdg:DataGridItemProperty Name="ShipAddress" 
                                   Title="Address" /> 
        <xcdg:DataGridItemProperty Name="ShipPostalCode" 
                                   Title="Postal Code"/> 
        <xcdg:DataGridItemProperty Name="ShipName" 
                                   Title="Name"/> 
        <xcdg:DataGridItemProperty Name="OrderDate" 
                                   Title="Order Date"/> 
        <xcdg:DataGridItemProperty Name="Freight"/> 
      </xcdg:DataGridCollectionViewSource.ItemProperties> 
    </xcdg:DataGridCollectionViewSource> 
  </Grid.Resources> 
 
  <DockPanel> 
    <StackPanel Orientation="Horizontal" 
                DockPanel.Dock="Top"> 
      <xcdg:AutoFilterControl x:Name="ShipCountryAutoFilterControl" 
                              AutoFilterColumn="{Binding ElementName=OrdersGrid, Path=Columns[ShipCountry]}" 
                              AutoFilterContext="{Binding ElementName=OrdersGrid, Path=DataGridContext}"> 
        <xcdg:AutoFilterControl.Template> 
          <ControlTemplate TargetType="{x:Type xcdg:AutoFilterControl}"> 
            <ComboBox x:Name="PART_DistinctValuesHost" 
                      Width="125" /> 
          </ControlTemplate> 
        </xcdg:AutoFilterControl.Template> 
      </xcdg:AutoFilterControl> 
 
      <Button Content="Clear Filter" 
              Command="xcdg:AutoFilterControl.ClearAutoFilterValues" 
              CommandTarget="{Binding ElementName=ShipCountryAutoFilterControl}"/>        
    </StackPanel> 
 
    <xcdg:DataGridControl x:Name="OrdersGrid" 
                          ItemsSource="{Binding Source={StaticResource cvs_orders}}"> 
      <xcdg:DataGridControl.View> 
        <xcdg:TableView UseDefaultHeadersFooters="False"> 
          <xcdg:TableView.FixedHeaders> 
              <DataTemplate> 
                <xcdg:GroupByControl /> 
              </DataTemplate> 
              <DataTemplate> 
                <xcdg:ColumnManagerRow AllowAutoFilter="False" /> 
              </DataTemplate> 
            </xcdg:TableView.FixedHeaders> 
          </xcdg:TableView> 
        </xcdg:DataGridControl.View> 
      </xcdg:DataGridControl> 
    </DockPanel> 
  </Grid>

Remarks

If set to false, column-manager cells will not display the glyph that allows the drop-down ListBox to be opened.

Notes

It is recommended to deactivate the column-manager cells' auto-filter drop downs by setting the AllowAutoFilter property of the ColumnManagerRow to false to hide the column-manager cells' auto-filter control and prevent unexpected synchronization behavior between controls that have the same auto-filter target column or different selection modes.

Requirements

Supported Frameworks: Microsoft .NET Framework version 3.5

See Also