Xceed DataGrid for WPF v7.3 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / AutoFilterControl Class / AutoFilterColumn Property
Example


In This Topic
    AutoFilterColumn Property
    In This Topic
    Gets or sets the column whose auto-filter values will be managed by the auto-filter control.
    Syntax
    'Declaration
     
    Public Property AutoFilterColumn As ColumnBase
    'Usage
     
    Dim instance As AutoFilterControl
    Dim value As ColumnBase
     
    instance.AutoFilterColumn = value
     
    value = instance.AutoFilterColumn
    public ColumnBase AutoFilterColumn {get; set;}

    Property Value

    A reference to the Column whose auto-filter values will be managed by the auto-filter control.   
    Remarks

    Auto-filtering controls that have the same target column should also have the same selection mode.

    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.
    <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>
    Requirements

    Target Platforms: Windows 11, Windows, 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also