Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Collapse]eXpressApp Framework
 [Expand]Fundamentals
 [Expand]Getting Started
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Functional Testing
 [Expand]Deployment
 [Expand]Task-Based Help
 [Expand]Frequently Asked Questions
 [Collapse]API Reference
  [Expand]DevExpress.EasyTest.Framework
  [Expand]DevExpress.ExpressApp
  [Expand]DevExpress.ExpressApp.Actions
  [Expand]DevExpress.ExpressApp.AuditTrail
  [Expand]DevExpress.ExpressApp.Chart
  [Expand]DevExpress.ExpressApp.Chart.Web
  [Expand]DevExpress.ExpressApp.Chart.Win
  [Expand]DevExpress.ExpressApp.CloneObject
  [Expand]DevExpress.ExpressApp.ConditionalAppearance
  [Expand]DevExpress.ExpressApp.Dashboards
  [Expand]DevExpress.ExpressApp.Dashboards.Web
  [Expand]DevExpress.ExpressApp.Dashboards.Win
  [Expand]DevExpress.ExpressApp.Data
  [Expand]DevExpress.ExpressApp.DC
  [Expand]DevExpress.ExpressApp.DC.ClassGeneration
  [Expand]DevExpress.ExpressApp.Editors
  [Expand]DevExpress.ExpressApp.EF
  [Expand]DevExpress.ExpressApp.EF.Utils
  [Expand]DevExpress.ExpressApp.FileAttachments.Web
  [Expand]DevExpress.ExpressApp.FileAttachments.Win
  [Expand]DevExpress.ExpressApp.Filtering
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Web
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Win
  [Expand]DevExpress.ExpressApp.Kpi
  [Expand]DevExpress.ExpressApp.Layout
  [Expand]DevExpress.ExpressApp.Maps.Mobile
  [Expand]DevExpress.ExpressApp.Maps.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Maps.Web
  [Expand]DevExpress.ExpressApp.Maps.Web.Helpers
  [Expand]DevExpress.ExpressApp.MiddleTier
  [Expand]DevExpress.ExpressApp.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Mobile.SystemModule
  [Expand]DevExpress.ExpressApp.Model
  [Expand]DevExpress.ExpressApp.Model.Core
  [Expand]DevExpress.ExpressApp.Model.NodeGenerators
  [Expand]DevExpress.ExpressApp.ModelEditor
  [Expand]DevExpress.ExpressApp.Notifications
  [Expand]DevExpress.ExpressApp.Notifications.Web
  [Expand]DevExpress.ExpressApp.Notifications.Win
  [Expand]DevExpress.ExpressApp.PivotChart
  [Expand]DevExpress.ExpressApp.PivotChart.Web
  [Expand]DevExpress.ExpressApp.PivotChart.Win
  [Expand]DevExpress.ExpressApp.PivotGrid
  [Expand]DevExpress.ExpressApp.PivotGrid.Web
  [Expand]DevExpress.ExpressApp.PivotGrid.Win
  [Expand]DevExpress.ExpressApp.Reports
  [Expand]DevExpress.ExpressApp.Reports.Web
  [Expand]DevExpress.ExpressApp.Reports.Win
  [Expand]DevExpress.ExpressApp.ReportsV2
  [Expand]DevExpress.ExpressApp.ReportsV2.Web
  [Expand]DevExpress.ExpressApp.ReportsV2.Win
  [Expand]DevExpress.ExpressApp.Scheduler
  [Expand]DevExpress.ExpressApp.Scheduler.Web
  [Expand]DevExpress.ExpressApp.Scheduler.Win
  [Expand]DevExpress.ExpressApp.ScriptRecorder
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Web
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Win
  [Expand]DevExpress.ExpressApp.Security
  [Expand]DevExpress.ExpressApp.Security.Adapters
  [Expand]DevExpress.ExpressApp.Security.ClientServer.Wcf
  [Expand]DevExpress.ExpressApp.Security.EF.Adapters
  [Expand]DevExpress.ExpressApp.Security.Strategy
  [Expand]DevExpress.ExpressApp.Security.Xpo.Adapters
  [Expand]DevExpress.ExpressApp.StateMachine
  [Collapse]DevExpress.ExpressApp.SystemModule
   [Expand]AboutInfo Class
   [Expand]ActionControlsSiteController Class
   [Expand]CustomBuildCriteriaEventArgs Class
   [Expand]CustomExportAnalysisEventArgs Class
   [Expand]CustomExportEventArgs Class
   [Expand]CustomGetDefaultFileNameEventArgs Class
   [Expand]CustomGetFiltersEventArgs Class
   [Expand]CustomGetFullTextSearchPropertiesEventArgs Class
   [Expand]CustomizeShowViewParametersEventArgs Class
   [Expand]CustomizeWindowCaptionEventArgs Class
   [Expand]CustomizeWindowStatusMessagesEventArgs Class
   [Expand]CustomShowNavigationItemEventArgs Class
   [Expand]DeleteObjectsViewController Class
   [Expand]DialogController Class
   [Expand]DialogControllerAcceptingEventArgs Class
   [Expand]ExportAnalysisController Class
   [Expand]ExportController Class
   [Collapse]FilterController Class
     FilterController Members
     FilterController Constructor
    [Expand]FilterController Properties
    [Expand]FilterController Events
    [Expand]FilterController Methods
    FullTextSearchTargetPropertiesMode Enumeration
   [Expand]IDataAwareExportable Interface
   [Expand]IDataAwareExportableCsv Interface
   [Expand]IDataAwareExportableXls Interface
   [Expand]IDataAwareExportableXlsx Interface
   [Expand]IExportable Interface
   [Expand]IExportableAnalysisEditor Interface
   [Expand]IModelActionContainer Interface
   [Expand]IModelActionDesignContainerMapping Interface
   [Expand]IModelActionLink Interface
   [Expand]IModelActionToContainerMapping Interface
   [Expand]IModelApplicationCreatableItems Interface
   [Expand]IModelApplicationNavigationItems Interface
   [Expand]IModelClassNavigation Interface
   [Expand]IModelClassNewItemRow Interface
   [Expand]IModelClassShowAutoFilterRow Interface
   [Expand]IModelCreatableItem Interface
   [Expand]IModelCreatableItems Interface
   [Expand]IModelDetailViewDefaultFocusedItem Interface
   [Expand]IModelHiddenActions Interface
   [Expand]IModelListViewFilter Interface
   [Expand]IModelListViewFilterItem Interface
   [Expand]IModelListViewFilters Interface
   [Expand]IModelListViewNewItemRow Interface
   [Expand]IModelListViewPreviewColumn Interface
   [Expand]IModelListViewShowAutoFilterRow Interface
   [Expand]IModelNavigationItem Interface
   [Expand]IModelNavigationItems Interface
   [Expand]IModelOptionsDashboard Interface
   [Expand]IModelOptionsDashboards Interface
   [Expand]IModelPropertyEditorLinkView Interface
   [Expand]IModelRootNavigationItems Interface
   [Expand]IModelViewHiddenActions Interface
   [Expand]LinkUnlinkController Class
   [Expand]ListViewFilterAttribute Class
   [Expand]ListViewProcessCurrentObjectController Class
   [Expand]LogoffController Class
   [Expand]ModelActionContainersGenerator Class
   [Expand]ModelCreatableItemsGenerator Class
   [Expand]ModelListViewFiltersGenerator Class
    ModificationsCheckingMode Enumeration
   [Expand]ModificationsController Class
    ModificationsHandlingMode Enumeration
   [Expand]NavigationItemCreatedEventArgs Class
   [Expand]NavigationItemNodeGenerator Class
    NewObjectActionItemListMode Enumeration
   [Expand]NewObjectViewController Class
   [Expand]PrintableChangedEventArgs Class
   [Expand]RecordsNavigationController Class
   [Expand]RefreshController Class
   [Expand]ShowNavigationItemController Class
   [Expand]SystemModule Class
   [Expand]WindowTemplateController Class
  [Expand]DevExpress.ExpressApp.Templates
  [Expand]DevExpress.ExpressApp.Templates.ActionContainers
  [Expand]DevExpress.ExpressApp.TreeListEditors
  [Expand]DevExpress.ExpressApp.TreeListEditors.Web
  [Expand]DevExpress.ExpressApp.TreeListEditors.Win
  [Expand]DevExpress.ExpressApp.Updating
  [Expand]DevExpress.ExpressApp.Utils
  [Expand]DevExpress.ExpressApp.Validation
  [Expand]DevExpress.ExpressApp.Validation.Web
  [Expand]DevExpress.ExpressApp.Validation.Win
  [Expand]DevExpress.ExpressApp.ViewVariantsModule
  [Expand]DevExpress.ExpressApp.Web
  [Expand]DevExpress.ExpressApp.Web.Controls
  [Expand]DevExpress.ExpressApp.Web.Editors
  [Expand]DevExpress.ExpressApp.Web.Editors.ASPx
  [Expand]DevExpress.ExpressApp.Web.SystemModule
  [Expand]DevExpress.ExpressApp.Web.Templates
  [Expand]DevExpress.ExpressApp.Web.Utils
  [Expand]DevExpress.ExpressApp.Win
  [Expand]DevExpress.ExpressApp.Win.Core
  [Expand]DevExpress.ExpressApp.Win.Editors
  [Expand]DevExpress.ExpressApp.Win.Model
  [Expand]DevExpress.ExpressApp.Win.SystemModule
  [Expand]DevExpress.ExpressApp.Win.Templates
  [Expand]DevExpress.ExpressApp.Win.Templates.Navigation
  [Expand]DevExpress.ExpressApp.Workflow
  [Expand]DevExpress.ExpressApp.Workflow.Win
  [Expand]DevExpress.ExpressApp.Xpo
  [Expand]DevExpress.Persistent.Base
  [Expand]DevExpress.Persistent.Base.General
  [Expand]DevExpress.Persistent.Base.ReportsV2
  [Expand]DevExpress.Persistent.Base.Security
  [Expand]DevExpress.Persistent.BaseImpl
  [Expand]DevExpress.Persistent.BaseImpl.EF
  [Expand]DevExpress.Persistent.BaseImpl.EF.PermissionPolicy
  [Expand]DevExpress.Persistent.BaseImpl.PermissionPolicy
  [Expand]DevExpress.Persistent.Validation
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
[Expand]End-User Documentation

FilterController Class

Represents a ViewController descendant that contains the FullTextSearch and SetFilter Actions.

Namespace:DevExpress.ExpressApp.SystemModule
Assembly:DevExpress.ExpressApp.v17.1.dll

Expanded Syntax

Expanded Remarks

The FilterController is intended for presenting the FullTextSearch and SetFilter Actions.

In a Windows Forms application:

In an ASP.NET application:

For details on the FullTextSearch and SetFilter Actions, refer to the description of the FullTextFilterAction and SetFilterAction properties, that provide access to these Actions.

To customize the default behavior of the FullTextSearch and SetFilter Actions, you can inherit from this Controller, or subscribe to its events. In addition, you can access the Actions to modify their behavior.

This Controller does not have UI-specific descendants. If you require, you can inherit from this Controller to implement a UI-specific functionality. When deriving from the FilterController, the following protected virtual methods are available, and can be overridden:

Method

When is it called?

Description

SetupFilters Invoked when the FilterController is activated. Applies the criteria that is set for the current List View's IModelListView.Criteria property in the Application Model. In addition, creates items for the SetFilter Action using the ListView | Filters node from the Application Model. Executes the SetFilter Action, setting the filter specified by the Filters node's CurrentFilterID property.
ApplyFilter First, it is invoked when the FilterController is activated to apply an initial filter. Second, it is invoked when the SetFilter Action is executed, to apply the selected filter. Generates a CriteriaOperator from the passed criterion, and adds it to the Criteria collection of the current List View' CollectionSource.
GetToolTip Invoked to generate a tooltip for the SetFilter Action. The tooltip is formed from the criteria applied to the current View's collection source.
  • If the Views | View node defining the current List View has the Criteria property set, this method applies the specified criterion via the ApplyCriteria method.
  • If the Views | View | Filters node exists for the current List View, its child nodes are used to populate the SetFilter Action's Items collection. The item that is represented by the Filters node' CurrentFilterID property is set as a selected item (see SingleChoiceAction.SelectedItem), and its criterion is applied to the List View via the SetFilter method.
SetFilter Invoked as a result of executing the SetFilter Action. Represents the SetFilter Action's SingleChoiceAction.Execute event handler. Applies the selected filter passed as the Execute event handler's parameter, to the current List View, via the ApplyFilter method. In addition, it sets the selected filter for the CurrentFilterID property of the current View's Views | View node.
FullTextSearch Invoked as a result of executing the FullTextSearch Action. Represents the FullTextSearch Action's ParametrizedAction.Execute event handler. Using the Execute event arguments, generates a CriteriaOperator, and adds it to the Criteria collection of the current List View's CollectionSource. To generate the CriteriaOperator, the DevExpress.ExpressApp.Filtering.FullTextSearchCriteriaBuilder static class is used.
OnCustomBuildCriteria Invoked by the FullTextSearch method. Raises the CustomBuildCriteria event. To implement a custom algorithm for building criteria in the FilterController class descendant, override this method. Set the CustomBuildCriteriaEventArgs.Handled parameter to true, to prohibit executing a default algorithm. Assign the generated criteria to the CustomBuildCriteriaEventArgs.Criteria parameter.
CreateSearchCriteriaBuilder Invoked by the FullTextSearch method. Creates a SearchCriteriaBuilder object to be used for building criteria. Override this method, to return an object of the custom class that implements the ISearchCriteriaBuilder interface. Note that in this instance, this object's BuildCriteria method will be called to generate the criterion for the current List View.
OnCustomGetFullTextSearchProperties Invoked by the FullTextSearch method. Raises the CustomGetFullTextSearchProperties event. To collect properties for a search in a custom way in the FilterController class descendant, override this method. Set the CustomGetFullTextSearchPropertiesEventArgs.Handled parameter to true to prohibit collecting the properties in the default manner. Assign the set of the collected properties to the CustomGetFullTextSearchPropertiesEventArgs.Properties parameter.
RemoveFilter Invoked when the current List View's ListView.Model property is changed (see View.ModelChanged), to remove the filter specified by the Criteria property of the List View's Views | View node. Removes the passed criterion from the Criteria collection of the current List View' CollectionSource.
UpdateActionState Invoked as a result of changing the environment. Checks whether the active or enabled state of the SetFilter and FullTextSearch Actions should be changed after the environment has been changed.

Public members are described individually in the documentation.

This Controller is activated for List Views only. To ascertain whether the Controller is active, use the Controller.Active property. If you need to know the reason for its deactivation or activation at runtime, use the DiagnosticInfo Action.

Information on the FilterController and its SetFilter and FullTextSearch Actions is available in the Application Model's ActionDesign node. To access it, use the Model Editor.

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          Controller
             ViewController
                FilterController

Expanded See Also

How would you rate this topic?​​​​​​​