[Expand]General Information
[Collapse]WinForms Controls
  .NET Core Support
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Behaviors
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.DragDrop
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Filtering
  [Expand]DevExpress.Utils.Layout
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.MVVM
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Base
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.FluentDesignSystem
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.ToolbarForm
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Docking
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Converter
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Extensions
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Collapse]DevExpress.XtraPivotGrid
   [Expand]CancelPivotCellEditEventArgs Class
   [Expand]CustomCustomizationFormSortEventArgs Class
   [Expand]CustomEditValueEventArgs Class
    CustomEditValueEventHandler Delegate
   [Expand]CustomExportCellEventArgs Class
   [Expand]CustomExportFieldValueEventArgs Class
   [Expand]CustomExportHeaderEventArgs Class
   [Expand]CustomFieldDataEventArgs Class
    CustomFieldDataEventHandler Delegate
   [Expand]CustomizationFormShowingEventArgs Class
    CustomizationFormShowingEventHandler Delegate
   [Expand]CustomizePivotCellEventArgs Class
    CustomizePivotCellEventHandler Delegate
   [Expand]CustomServerModeSortEventArgs Class
    DateTimeGroupIntervals Enumeration
   [Expand]EditValueChangedEventArgs Class
    EditValueChangedEventHandler Delegate
    ExcelFilterDateTimeValuesTabFilterType Enumeration
    ExcelFilterDefaultTab Enumeration
    ExcelFilterEnumFilters Enumeration
    ExcelFilterNumericValuesTabFilterType Enumeration
    ExcelFilterTextFilters Enumeration
    FieldFilterPopupMode Enumeration
   [Expand]FieldValueCell Class
   [Expand]FilterPopupExcelCustomizeTemplateEventArgs Class
    FilterPopupExcelCustomizeTemplateEventHandler Delegate
   [Expand]FilterPopupExcelDataEventArgs Class
    FilterPopupExcelDataEventHandler Delegate
   [Expand]FilterPopupExcelEventArgs Class
    FilterPopupExcelEventHandler Delegate
   [Expand]FilterPopupExcelPrepareTemplateEventArgs Class
    FilterPopupExcelPrepareTemplateEventHandler Delegate
   [Expand]FilterPopupExcelQueryFilterCriteriaEventArgs Class
    FilterPopupExcelQueryFilterCriteriaEventHandler Delegate
    FilterPopupToolbarButtons Enumeration
   [Expand]FormatRuleFieldIntersectionSettings Class
   [Expand]FormatRuleSettings Class
   [Expand]FormatRuleTotalTypeSettings Class
   [Expand]PivotAreaChangingEventArgs Class
    PivotAreaChangingEventHandler Delegate
   [Expand]PivotCellBaseEventArgs Class
   [Expand]PivotCellDisplayTextEventArgs Class
    PivotCellDisplayTextEventHandler Delegate
   [Expand]PivotCellEditEventArgs Class
   [Expand]PivotCellEventArgs Class
    PivotCellEventHandler Delegate
   [Expand]PivotCellValueEventArgs Class
    PivotContextMenuIds Enumeration
   [Expand]PivotCustomAppearanceEventArgs Class
    PivotCustomAppearanceEventHandler Delegate
   [Expand]PivotCustomAppearanceThreadSafeEventArgs Class
   [Expand]PivotCustomCellEditEventArgs Class
   [Expand]PivotCustomChartDataSourceDataEventArgs Class
    PivotCustomChartDataSourceDataEventHandler Delegate
   [Expand]PivotCustomChartDataSourceRowsEventArgs Class
    PivotCustomChartDataSourceRowsEventHandler Delegate
   [Expand]PivotCustomColumnWidthEventArgs Class
   [Expand]PivotCustomDrawBaseThreadSafeEventArgs Class
   [Expand]PivotCustomDrawCellBaseEventArgs Class
   [Expand]PivotCustomDrawCellBaseThreadSafeEventArgs Class
   [Expand]PivotCustomDrawCellEventArgs Class
    PivotCustomDrawCellEventHandler Delegate
   [Expand]PivotCustomDrawCellThreadSafeEventArgs Class
   [Expand]PivotCustomDrawEventArgs Class
    PivotCustomDrawEventHandler Delegate
   [Expand]PivotCustomDrawFieldHeaderEventArgs Class
    PivotCustomDrawFieldHeaderEventHandler Delegate
   [Expand]PivotCustomDrawFieldHeaderThreadSafeEventArgs Class
   [Expand]PivotCustomDrawFieldValueEventArgs Class
    PivotCustomDrawFieldValueEventHandler Delegate
   [Expand]PivotCustomDrawFieldValueThreadSafeEventArgs Class
   [Expand]PivotCustomDrawHeaderAreaEventArgs Class
    PivotCustomDrawHeaderAreaEventHandler Delegate
   [Expand]PivotCustomDrawHeaderAreaThreadSafeEventArgs Class
   [Expand]PivotCustomDrawThreadSafeEventArgs Class
   [Expand]PivotCustomFieldValueCellsEventArgs Class
    PivotCustomFieldValueCellsEventHandler Delegate
   [Expand]PivotCustomFilterPopupItemsEventArgs Class
    PivotCustomFilterPopupItemsEventHandler Delegate
   [Expand]PivotCustomGroupIntervalEventArgs Class
    PivotCustomGroupIntervalEventHandler Delegate
   [Expand]PivotCustomRowHeightEventArgs Class
    PivotEndUpdateMode Enumeration
   [Expand]PivotFieldDisplayTextEventArgs Class
    PivotFieldDisplayTextEventHandler Delegate
   [Expand]PivotFieldEventArgs Class
    PivotFieldEventHandler Delegate
   [Expand]PivotFieldFilterChangingEventArgs Class
    PivotFieldFilterChangingEventHandler Delegate
   [Expand]PivotFieldImageIndexEventArgs Class
    PivotFieldImageIndexEventHandler Delegate
   [Expand]PivotFieldImageIndexThreadSafeEventArgs Class
   [Expand]PivotFieldPropertyChangedEventArgs Class
    PivotFieldPropertyChangedEventHandler Delegate
   [Expand]PivotFieldTooltipShowingEventArgs Class
    PivotFieldTooltipShowingEventHandler Delegate
   [Expand]PivotFieldValueCancelEventArgs Class
    PivotFieldValueCancelEventHandler Delegate
   [Expand]PivotFieldValueEventArgs Class
    PivotFieldValueEventHandler Delegate
   [Expand]PivotFieldValueHitInfo Class
   [Expand]PivotFilter Class
   [Expand]PivotGridAppearances Class
   [Expand]PivotGridAppearancesBase Class
   [Expand]PivotGridAppearancesPrint Class
   [Expand]PivotGridCells Class
   [Collapse]PivotGridControl Class
     PivotGridControl Members
     PivotGridControl Constructor
    [Expand]PivotGridControl Properties
    [Collapse]PivotGridControl Events
      ActiveFilterCriteriaChanged Event
      AsyncOperationCompleted Event
      AsyncOperationStarting Event
      BeforeLoadLayout Event
      BeginRefresh Event
      CellClick Event
      CellDoubleClick Event
      CellSelectionChanged Event
      CustomAppearance Event
      CustomCellDisplayText Event
      CustomCellEdit Event
      CustomCellEditForEditing Event
      CustomCellValue Event
      CustomChartDataSourceData Event
      CustomChartDataSourceRows Event
      CustomColumnWidth Event
      CustomCustomizationFormSort Event
      CustomDrawCell Event
      CustomDrawEmptyArea Event
      CustomDrawFieldHeader Event
      CustomDrawFieldHeaderArea Event
      CustomDrawFieldValue Event
      CustomEditValue Event
      CustomExportCell Event
      CustomExportFieldValue Event
      CustomExportHeader Event
      CustomFieldSort Event
      CustomFieldValueCells Event
      CustomFilterPopupItems Event
      CustomGroupInterval Event
      CustomRowHeight Event
      CustomServerModeSort Event
      CustomSummary Event
      CustomUnboundFieldData Event
      DataSourceChanged Event
      EditValueChanged Event
      EndRefresh Event
      ExportFinished Event
      ExportStarted Event
      FieldAreaChanged Event
      FieldAreaChanging Event
      FieldAreaIndexChanged Event
      FieldExpandedInFieldGroupChanged Event
      FieldFilterChanged Event
      FieldFilterChanging Event
      FieldPropertyChanged Event
      FieldTooltipShowing Event
      FieldUnboundExpressionChanged Event
      FieldValueCollapsed Event
      FieldValueCollapsing Event
      FieldValueDisplayText Event
      FieldValueExpanded Event
      FieldValueExpanding Event
      FieldValueImageIndex Event
      FieldValueNotExpanded Event
      FieldVisibleChanged Event
      FieldWidthChanged Event
      FilterEditorCreated Event
      FilterPopupExcelCustomizeTemplate Event
      FilterPopupExcelData Event
      FilterPopupExcelPrepareTemplate Event
      FilterPopupExcelQueryFilterCriteria Event
      FocusedCellChanged Event
      GridLayout Event
      GroupFilterChanged Event
      HiddenEditor Event
      HideCustomizationForm Event
      InvalidValueException Event
      LayoutUpgrade Event
      LeftTopCellChanged Event
      MenuItemClick Event
      OLAPException Event
      OLAPQueryData Event
      OLAPQueryTimeout Event
      PaintEx Event
      PopupMenuShowing Event
      PrefilterCriteriaChanged Event
      QueryCustomFunctions Event
      QueryException Event
      ShowCustomizationForm Event
      ShowFilterPopupExcel Event
      ShowingCustomizationForm Event
      ShowingEditor Event
      ShownEditor Event
      UnboundExpressionEditorCreated Event
      UserActionChanged Event
      ValidatingEditor Event
    [Expand]PivotGridControl Methods
   [Expand]PivotGridCustomFieldSortEventArgs Class
    PivotGridCustomFieldSortEventHandler Delegate
   [Expand]PivotGridCustomSummaryEventArgs Class
    PivotGridCustomSummaryEventHandler Delegate
   [Expand]PivotGridCustomTotal Class
   [Expand]PivotGridCustomTotalCollection Class
   [Expand]PivotGridField Class
   [Expand]PivotGridFieldAppearances Class
   [Expand]PivotGridFieldCollection Class
   [Expand]PivotGridFieldImageOptions Class
   [Expand]PivotGridFieldOptionsEx Class
   [Expand]PivotGridFieldOptionsFilter Class
   [Expand]PivotGridFieldToolTips Class
   [Expand]PivotGridFormatConditionCollection Class
   [Expand]PivotGridFormatRule Class
   [Expand]PivotGridFormatRuleCollection Class
    PivotGridHeaderHitTest Enumeration
   [Expand]PivotGridHeadersAreaHitInfo Class
   [Expand]PivotGridHitInfo Class
    PivotGridHitTest Enumeration
   [Expand]PivotGridMenuEventArgs Class
   [Expand]PivotGridMenuEventArgsBase Class
    PivotGridMenuEventHandler Delegate
   [Expand]PivotGridMenuItemClickEventArgs Class
   [Expand]PivotGridMenuItemClickEventArgsBase Class
    PivotGridMenuItemClickEventHandler Delegate
    PivotGridMenuType Enumeration
   [Expand]PivotGridOptionsBehavior Class
   [Expand]PivotGridOptionsCustomizationEx Class
   [Expand]PivotGridOptionsFilterPopup Class
   [Expand]PivotGridOptionsHint Class
   [Expand]PivotGridOptionsMenu Class
   [Expand]PivotGridOptionsView Class
    PivotGridScrolling Enumeration
   [Expand]PivotGridStyleFormatCondition Class
    PivotGridValueHitTest Enumeration
   [Expand]PivotGroupEventArgs Class
    PivotGroupEventHandler Delegate
   [Expand]PivotLeftTopCellChangedEventArgs Class
   [Expand]PivotOlapExceptionEventArgs Class
    PivotOlapExceptionEventHandler Delegate
   [Expand]PivotOlapQueryDataEventArgs Class
   [Expand]PivotQueryExceptionEventArgs Class
    PivotQueryExceptionEventHandler Delegate
    PivotShowButtonModeEnum Enumeration
   [Expand]PivotUserActionEventArgs Class
    PivotUserActionEventHandler Delegate
   [Expand]PivotXlsExportOptions Class
   [Expand]PivotXlsxExportOptions Class
   [Expand]PopupMenuShowingEventArgs Class
    PopupMenuShowingEventHandler Delegate
   [Expand]Prefilter Class
    UserAction Enumeration
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.GoogleCalendar
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraTreeMap.Printing
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

PivotGridControl.CustomFieldSort Event

Allows you to provide a custom sorting algorithm for the field values.

Namespace:DevExpress.XtraPivotGrid
Assembly:DevExpress.XtraPivotGrid.v19.1.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type PivotGridCustomFieldSortEventArgs containing data related to this event.

The following PivotGridCustomFieldSortEventArgs properties provide information specific to this event.
Property Description
Data
Field Gets the field whose values are being compared.
Handled
ListSourceRowIndex1 Gets the index in the data source for the first of the two rows being compared.
ListSourceRowIndex2 Gets the index in the data source for the second of the two rows being compared.
Result
SortLocation Gets a target UI element to whose values sorting is applied.
SortOrder Gets the sort order applied to the field.
Value1 Gets the first value being compared.
Value2 Gets the second value being compared.

Expanded Remarks

The CustomFieldSort event occurs for the field whose DevExpress.XtraPivotGrid.PivotGridFieldBase.SortMode property is set to the DevExpress.XtraPivotGrid.PivotSortMode.Custom value. Handle the CustomFieldSort event to provide a custom sorting algorithm for the field values.

Important

In OLAP or server mode, handle the CustomServerModeSort event instead.

How to Sort Field Values in Pivot Grid

The CustomFieldSort event fires for pairs of field values before they are grouped according to the layout of column and row fields. To establish a new sort order, perform the following actions:

  1. Get values to compare from the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.Value1 and DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.Value2 properties.
  2. Compare these values and assign the result to the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.Result property as follows:

    • -1 if the first value should be placed before the second value when values are sorted in ascending order. When values are sorted in descending order, the first value is after the second value.
    • 1 if the first value should be placed after the second value when values are sorted in ascending order. When values are sorted in descending order, the first value is placed before the second value.
    • 0 to indicate that the values are equal. The rows are grouped into one field value.
    Note

    Values are sorted before Grouping. If the values are equal (the e.Result is set to 0), they are in the same group.

    To get additional field values from the data source, call the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.GetListSourceColumnValue method with the following parameters:

  3. Set the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.Handled property to true to finalize the comparison and use the e.Result value. Otherwise, the default comparison is in effect and e.Result is ignored.

Note

The CustomFieldSort event occurs in different situations in DevExpress.XtraPivotGrid.PivotDataProcessingEngine.Legacy and DevExpress.XtraPivotGrid.PivotDataProcessingEngine.LegacyOptimized modes because of the different workflow - the legacy engine aggregates data after sorting performed at the data source level, while the optimized engine sorts the aggregated data. The legacy engine raises the CustomFieldSort event more often to compare different rows of data. The optimized engine raises the event to compare the resulting data groups.

However, you can still use the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.ListSourceRowIndex1 and DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.ListSourceRowIndex2 properties and the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.GetListSourceColumnValue method. They return the data from the first data row included in the processed group.

How to Sort Filter Values in Filter Drop-Down

Handle the CustomFieldSort event to sort unique filter values in the Filter Drop-Down. To determine whether the data comes from the filter, check the DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.SortLocation property - its value is PivotSortLocation.Filter or PivotSortLocation.GroupFilter.

Important

A field value in a filter relates to multiple rows in the underlying data source. The ListSourceRowIndex1 and ListSourceRowIndex2 properties are always -1 when the event fires for the field located in the Filter Drop-Down.

Expanded Example

This example demonstrates how to sort a field (Sales Person) by the hidden data field values (Last Name) in the pivot's column header (the field's SortLocation (see DevExpress.XtraPivotGrid.PivotGridCustomFieldSortEventArgsBase<T>.SortLocation) is DevExpress.XtraPivotGrid.PivotSortLocation.Pivot ). If a field is located in a filter popup, a custom comparison method is used to to sort the field values.

Note

The complete sample project CustomFieldSort - How to Use a Hidden Field to Sort the Visible Field is available in the DevExpress Examples repository.

Expanded See Also

Is this topic helpful?​​​​​​​