The UXDataFilter control provides a configurable user interface for filtering through a data collection. Similar to other ClientUI data controls, UXDataFilter supports both server side and client side operation.
Client Data Operation
Client data operation means that the data operation in this case data filtering is executed in client side against the data source provided to UXDataFilter. To use this mode, you set the the QueryOperation property to Client.
You need to wrap your collection in a PagedCollectionView class to provide data filtering functionality to the IEnumerable collection. The PagedCollectionView provides consistent handling for data operation in other data controls as well such as UXGridView and UXDataPager.
To learn how to implement data filter using UXDataFilter, see How-to: Implement Data Filtering using UXDataFilter.
Server Data Operation
Server data operation means that the data operation, in this case data filtering, is processed in the server. This means that UXDataFilter does not handle the filtering operation by its own. Instead, UXDataFilter provides the query information allowing you to process it further.
To use this mode, you set the the QueryOperation property to Server. When this mode is selected, UXDataFilter will not attempt to perform the data operation on the given data source. Instead, it will store and distribute the query information to to FilterDescriptors property. When the collection of the property change, the QueryChanged event of the associated QueryDescriptor will be raised. This allows you to streamline the query processing in a centralized function, which is one of the strong benefits of QueryDescriptor. For more information about QueryDescriptor, see QueryDescriptor Overview.
To learn how to filter data using FilterDescriptors and UXDataFilter, see How-to: Implement Data Filtering using FilterDescriptors and UXDataFilter.