Version

External Sorting Filtering Grouping Summaries Overview (xamDataGrid)

Topic Overview

Purpose

This topic gives an overview of XamDataGrid feature for External Sorting, Filtering, Grouping and Summaries.

Required background

The following topics are prerequisites to understanding this topic.

Topic Purpose

The Data Presenter Family is the grouping for the Ultimate UI for WPF data-driven controls.

The xamDataGrid™ control uses the GridView and arranges data in columns and rows.

This section is your gateway to important task-based information that will help you to effectively use the various features and functionalities provided by xamDataGrid control.

This serves as a starting point with links to specific topics about the sort functionality using the xamDataGrid control.

This serves as a starting point with links to specific topics about the grouping functionality using the xamDataGrid control.

Introduction

Introduction to the xamDataGrid external sorting, filtering, grouping and summaries

XamDataGrid feature for external sorting, filtering, grouping and summaries allows you to offload those operations to an external source. By default, sorting, filtering, grouping and summary calculations are performed internally by the data presenter. Although the internal processing allows data presenter to integrate tightly those operations with its’ own object model and UI, there are advantages for performing those operations externally.

Cases Description

Avoiding performance impact in terms of memory allocation

The internal process of sorting, filtering, grouping and summary calculations requires the data presenter to allocate DataRecord objects for all of the data items that are part of the operation.

This can have an adverse performance impact in terms of memory allocation as well as initial CPU time taken by the process of allocation of the data record objects.

One advantage of performing the operations externally is better performance.

Using native XamDataGrid UI with external data source

With external process the data source inherits ICollectionView, any sorting, filtering and grouping operations performed on the view can be reflected in the UI of the data presenter.

Any changes made to sort, filter or grouping criteria through the data presenter UI will be reflected in the underlying ICollectionView as well.

Bound ICollectionView instance to other View control

You can bind the same ICollectionView instance to other view controls. This will reflect the sorting, filtering and grouping criteria applied via data presenter UI.

Data Presenter will synchronize its SortedFields when SortDescriptions and/or GroupDescriptions are modified externally

When the SortDescription and GroupDescriptions of ICollectionView are modified externally, the data presenter will be notified of the changes and synchronize its SortedFields collection to reflect the changes.

Note
Note

Only the root field’s layout support external processing and not child field layouts, as there are multiple collection views for a child field layout.

Performing operations remotely

It is possible to perform sorting, filtering, grouping and summary calculations on a server. The function of the data presenter will be to show the results only, and its UI will be used for generating the commands for sorting, filtering, grouping and summaries on the server.

Main Features Summary

Main features summary chart

The following table summarizes the main features of the xamDataGrid external sorting, filtering, grouping and summaries.

Feature Description

SortEvaluationMode property on FieldLayoutSettings. This enumeration has the following options:

  • Default

  • Auto

  • Manual

  • UseCollectinView

To use external sorting, you should set the UseCollectionView option. You can find further information about external sorting in the following topic: External Sorting

FilterEvaluationMode property on FieldLayoutSettings. This enumeration has the following options:

  • Default

  • Auto

  • Manual

  • UseCollectinView

To use external filtering, you should set the UseCollectionView option. You can find further information about external filtering the following topic: External Filtering

GroupByEvaluationMode property on FieldLayoutSettings. This enumeration has the following options:

  • Default

  • Auto

  • UseCollectinView

To use external grouping, you should set the UseCollectionView option. You can find further information about external grouping in the following topic: External Grouping

SummaryEvaluationMode property on FieldLayoutSettings. This enumeration has the following options:

  • Default

  • Auto

  • Manual

  • UseLINQ

To use external aggregation, you should set the UseLINQ option. You can find further information in the following topic: External Summary Calculations

QuerySummaryResult event on DataPresenterBase. This event will be raised when the data presenter is about to calculate a summary result.

You can find further information in the following topic: External Summary Calculations

QuerySummaryResultEventArgs class exposes the following properties and methods:

  • Summary

  • SetSummaryValue

You can find further information in the following topic: External Summary Calculations

Topics

The following topics provide additional information related to this topic.

Topic Purpose

This topic explains the external process of sorting the records in XamDataGrid control.

This topic explains the external process of Filtering the records in XamDataGrid control.

This topic explains how to use external grouping with XamDataGrid.

This topic explains the external summary calculation feature of xamDataGrid .