The DataFilter control lays out the filters as a vertically stacked list of items. Corresponding to each filter, an accordion tab is added to the DataFilter control which contains the controls used to filter the data-aware control by a specific field. Each filter element can have header and can be expanded or collapsed to show or hide the contents associated with it, giving it the look and feel of an accordion control. There's also an option to expand or collapse all of the filter conditions making it easier to hide the details and navigate through different filter headers.
The DataFilter control provides four different kinds of filters namely, BoolFilter, RangeFilter, DateRangeFilter and ChecklistFilter, to filter different types of data. For example, to filter boolean values, the DataFilter control automatically creates a BoolFilter which is represented by a checkbox. Similarly, the control generates filter with a range slider and range editors for filtering range values. Filters can also be added programmatically to the DataFilter control.
The DataFilter control provides dedicated class for each of its element which makes it easier to customize the appearance of the control and its elements.
The DataFilter control offers XML serialization by providing the functionality to save the current filter expressions to an XML file and load them when needed.
The DataFilter control can be easily paired up with any data-aware control like grid, list, treeView, chart or map.
DataFilter allows you to display tooltip for providing additional information about the filters over the filter header through ShowToolTips property and specify the tooltip text using ToolTip property of the Filter class.
Navigate using the keyboard
DataFilter control supports filter navigation through the keyboard. This feature allows you to navigate through the vertically stacked list of filters and move the focus between different filter conditions.