skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class PropertyGroupDescriptionBase

Provides a base class for grouping items in pivot operations based on object property values. This class enables property-based grouping, sorting, and filtering for LocalDataSourceProvider with support for well-known groups, calculated items, and culture-aware operations.

Inheritance
System.Object
Cloneable
SettingsNode
DescriptionBase
GroupDescriptionBase
GroupDescription
PropertyGroupDescriptionBase
DateTimeGroupDescription
DoubleGroupDescription
PropertyGroupDescription
Inherited Members
GroupDescription.ShowGroupsWithNoData
GroupDescription.AutoShowSubTotals
GroupDescription.GroupFilter
GroupDescriptionBase.GroupComparer
GroupDescriptionBase.SortOrder
DescriptionBase.IDescriptionBase.Clone()
DescriptionBase.DisplayName
DescriptionBase.CustomName
SettingsNode.NotifyServicesChanged()
SettingsNode.NotifySettingsChanged(SettingsChangedEventArgs)
SettingsNode.OnSettingsChanged(SettingsChangedEventArgs)
SettingsNode.BeginEdit()
SettingsNode.BeginInit()
SettingsNode.EndInit()
SettingsNode.GetService(Type)
SettingsNode.OnPropertyChanged(String)
SettingsNode.RemoveSettingsChild(SettingsNode)
SettingsNode.AddSettingsChild(SettingsNode)
SettingsNode.GetServiceOverride(Type)
SettingsNode.OnEnteredEditScope()
SettingsNode.OnExitingEditScope()
SettingsNode.Parent
SettingsNode.SettingsChanged
SettingsNode.ServicesChanged
SettingsNode.PropertyChanged
Cloneable.Clone()
Cloneable.CreateInstanceCore()
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.Pivot.Core
Assembly: Telerik.WinControls.PivotGrid.dll

Syntax

public abstract class PropertyGroupDescriptionBase : GroupDescription, INotifyPropertyChanged, ISupportInitialize, IObservableServiceProvider, IServiceProvider, IGroupDescription, IDescriptionBase, ISortableGroupDescription, INamed, IEditable, IDescriptionsReferencing, IGrandTotalSupport, IInitializeDescription, ILabelGroupFilterHost, IValueGroupFilterHost, IGroupsCountFilterHost, IGroupsPercentFilterHost, IGroupsSumFilterHost, ICanShowEmptyGroups, IFilteringDescription, IDistinctValuesDescription, IConditionFactory, IFilterOperatorsProvider

Constructors

PropertyGroupDescriptionBase()

Declaration
protected PropertyGroupDescriptionBase()

Properties

CalculatedItems

Gets the collection of calculated items used to create custom groups with predefined subgroups and summarized values. Calculated items allow defining virtual groups that don't exist in the source data but provide additional grouping logic.

Declaration
public Collection<CalculatedItem> CalculatedItems { get; }
Property Value
System.Collections.ObjectModel.Collection<CalculatedItem>

Culture

Gets the System.Globalization.CultureInfo used for culture-aware grouping operations. This culture is inherited from the LocalDataSourceProvider and affects sorting, formatting, and comparison operations during grouping.

Declaration
protected CultureInfo Culture { get; }
Property Value
System.Globalization.CultureInfo

PropertyName

Gets or sets the name of the property used for grouping items. This property identifies which field from the data objects should be used to create group keys and organize data.

Declaration
public string PropertyName { get; set; }
Property Value
System.String

Methods

CloneCore(Cloneable)

Creates a deep copy of this instance by copying core properties and delegating type-specific cloning to derived classes. This method handles the base property copying and calls CloneOverride(Cloneable) for derived class implementation.

Declaration
protected override sealed void CloneCore(Cloneable source)
Parameters
Cloneable source

The source object to clone from.

Overrides
GroupDescription.CloneCore(Cloneable)
Remarks

Notes to Inheritors If you derive from Cloneable, you may need to override this method to copy all properties. It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties).

CloneOverride(Cloneable)

When overridden in derived classes, performs type-specific cloning operations for the derived class properties. This method is called by CloneCore(Cloneable) after base properties have been copied.

Declaration
protected abstract void CloneOverride(Cloneable source)
Parameters
Cloneable source

The source object to clone from.

Remarks

Notes to Inheritors: If you derive from Cloneable, you need to override this method to copy all properties. It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties).

GetAllNames(IEnumerable<Object>, IEnumerable<Object>)

Gets all possible group names by combining unique names from the data with calculated items. This method merges the actual data group names with any defined calculated items to provide a complete list of available groups.

Declaration
protected override IEnumerable<object> GetAllNames(IEnumerable<object> uniqueNames, IEnumerable<object> parentGroupNames)
Parameters
System.Collections.Generic.IEnumerable<System.Object> uniqueNames

The unique group names found in the actual data.

System.Collections.Generic.IEnumerable<System.Object> parentGroupNames

The parent group names in the hierarchy.

Returns
System.Collections.Generic.IEnumerable<System.Object>

A combined enumerable of unique names and calculated items.

Overrides
GroupDescription.GetAllNames(IEnumerable<Object>, IEnumerable<Object>)

GetDisplayName()

Gets the display name for this group description by trying multiple sources in priority order. Returns the base display name if set, otherwise the field info display name if available, and finally falls back to the property name.

Declaration
protected override string GetDisplayName()
Returns
System.String

The display name for this group description.

Overrides
DescriptionBase.GetDisplayName()

GetUniqueName()

Gets the unique name for this group description, which is the property name used for grouping. This unique name is used to identify and distinguish this group description from others.

Declaration
public override string GetUniqueName()
Returns
System.String

The property name that serves as the unique identifier for this group description.

Overrides
DescriptionBase.GetUniqueName()

GroupNameFromItem(Object, Int32)

Returns the group name that would contain the specified item based on the configured property value. This method extracts the property value from the item and processes it to create an appropriate group key.

Declaration
protected virtual object GroupNameFromItem(object item, int level)
Parameters
System.Object item

The data item to determine the group for.

System.Int32 level

The level of grouping for this group description in the hierarchy.

Returns
System.Object

The group name object that would contain the specified item.

Exceptions
System.InvalidOperationException

Thrown when the field information has not been initialized or the item doesn't have the specified property.

Explicit Interface Implementations

IFilteringDescription.FilteringType

Declaration
Type IFilteringDescription.FilteringType { get; }
Returns
System.Type

Implements
IFilteringDescription.FilteringType

IFilteringDescription.PrefersDistinct

Declaration
bool IFilteringDescription.PrefersDistinct { get; }
Returns
System.Boolean

Implements
IFilteringDescription.PrefersDistinct

IFilterOperatorsProvider.GetAvailableConditions()

Declaration
IEnumerable<object> IFilterOperatorsProvider.GetAvailableConditions()
Returns
System.Collections.Generic.IEnumerable<System.Object>

Implements
IFilterOperatorsProvider.GetAvailableConditions()

ILabelGroupFilterHost.CreateFilter()

Declaration
ILabelGroupFilter ILabelGroupFilterHost.CreateFilter()
Returns
ILabelGroupFilter

Implements
ILabelGroupFilterHost.CreateFilter()

IValueGroupFilterHost.CreateFilter()

Declaration
IValueGroupFilter IValueGroupFilterHost.CreateFilter()
Returns
IValueGroupFilter

Implements
IValueGroupFilterHost.CreateFilter()

IConditionFactory.CreateCondition(Type)

Declaration
Condition IConditionFactory.CreateCondition(Type conditionType)
Parameters
System.Type conditionType

Returns
Condition

Implements
IConditionFactory.CreateCondition(Type)

IDistinctValuesDescription.GetDisctinctValuesProvider()

Declaration
DistinctValuesProvider IDistinctValuesDescription.GetDisctinctValuesProvider()
Returns
DistinctValuesProvider

Implements
IDistinctValuesDescription.GetDisctinctValuesProvider()

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.