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
Inherited Members
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
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
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
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
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.PrefersDistinct
Declaration
bool IFilteringDescription.PrefersDistinct { get; }
Returns
|
System.Boolean
|
Implements
IFilterOperatorsProvider.GetAvailableConditions()
Declaration
IEnumerable<object> IFilterOperatorsProvider.GetAvailableConditions()
Returns
|
System.Collections.Generic.IEnumerable<System.Object>
|
Implements
ILabelGroupFilterHost.CreateFilter()
Declaration
ILabelGroupFilter ILabelGroupFilterHost.CreateFilter()
Returns
|
ILabelGroupFilter
|
Implements
IValueGroupFilterHost.CreateFilter()
Declaration
IValueGroupFilter IValueGroupFilterHost.CreateFilter()
Returns
|
IValueGroupFilter
|
Implements
IConditionFactory.CreateCondition(Type)
Declaration
Condition IConditionFactory.CreateCondition(Type conditionType)
Parameters
|
System.Type
conditionType
|
Returns
|
Condition
|
Implements
IDistinctValuesDescription.GetDisctinctValuesProvider()
Declaration
DistinctValuesProvider IDistinctValuesDescription.GetDisctinctValuesProvider()
Returns
|
DistinctValuesProvider
|