[]
        
(Showing Draft Content)

C1.DataCollection.C1GroupDataCollection-1

C1GroupDataCollection<S> Class

Collection which supports grouping

Inheritance
C1GroupDataCollection<S>
Namespace: C1.DataCollection
Assembly: C1.DataCollection.dll
Syntax
public class C1GroupDataCollection<S> : C1WrapDataCollection<S, object?>, IDataCollection<object?>, IReadOnlyList<object?>, IReadOnlyCollection<object?>, IEnumerable<object?>, IEnumerable, INotifyCollectionChanged, ISupportIndexing<object?>, INotifyPropertyChanged, IDisposable, ISupportSorting, ISupportFiltering, ISupportGrouping, ISupportVirtualization, ISupportConnection, ISupportAsyncLoading<object?>, ISupportIncrementalLoading, ISupportRefreshing, ISupportRangeEditing<S>, ISupportEditing<S>, ISupportCreateNewItem<S>, ISupportPaging, ISupportSource, ISupportRangeEditing<object?>, ISupportEditing<object?> where S : class?
Type Parameters
Name Description
S

The type of the items in the source collection

Constructors

Name Description
C1GroupDataCollection(IEnumerable<S>, bool)

Initializes a new instance of the C1GroupDataCollection<S> class.

Properties

Name Description
GroupDescriptions

Gets the group descriptions applied to the data.

InternalList

Gets the list that hold the items to be returned in the public api.

IsPlain

Gets whether the group items will be inline with the data items or the items will be the first level of group items.

RunSynchronously

Gets or sets whether the sorting is performed synchronously.

UseCPUsInParallel

Gets or sets a value indicating whether the operations will be performed using parallels CPU's.

Methods

Name Description
CanGroup(params GroupDescription[])

Returns whether the collection is able to group the specified group descriptions.

CanInsert(int, S)

Determines whether a new item can be inserted in the collection at the specified index.

CanInsertRange(int, IEnumerable<S>)

Determines whether a new range of items can be inserted in the collection at the specified startingIndex.

CanMove(int, int)

Determines whether the item at fromIndex can be moved to toIndex.

CanRemove(int)

Determines whether the item at the specified index can be removed from the collection.

CanRemoveRange(int, int)

Determines whether a range of items at the specified startingIndex can be removed from the collection.

CanReplace(int, S)

Determines whether the item at the specified index can be replaced in the collection.

CanReplaceRange(int, IEnumerable<S>)

Determines whether the items starting at the specified startingIndex can be replaced in the collection.

CreateInternalList(IReadOnlyList<S>)

Creates the internal list from the source.

GetItemType()

Gets the type of the item.

GroupAsync(GroupDescription[], CancellationToken)

Groups the collection according to the specified group descriptions.

IndexOf(object?)

Gets the index of the specified item.

InsertAsync(int, S, CancellationToken)

Inserts the specified item at the specified index in the collection.

InsertRangeAsync(int, IEnumerable<S>, CancellationToken)

Inserts the specified items at the specified startingIndex in the collection.

MoveAsync(int, int, CancellationToken)

Moves an item from the specified position to the new one.

OnSourceCollectionChanged(object?, NotifyCollectionChangedEventArgs)

Called when the source collection changed.

RemoveAsync(int, CancellationToken)

Removes the item at the specified index from the collection.

RemoveRangeAsync(int, int, CancellationToken)

Removes the items at the specified startingIndex from the collection.

ReplaceAsync(int, S, CancellationToken)

Replaces the item at the specified index by the specified item.

ReplaceRangeAsync(int, IEnumerable<S>, CancellationToken)

Replaces the items starting at the specified startingIndex by the specified items.

Extension Methods