# C1.DataCollection

## Content

<div class="doc-site-dotnet-api-container">

  <h1 id="C1_DataCollection" data-uid="C1.DataCollection" class="text-break">C1.DataCollection Namespace
</h1>
  <div class="markdown level0 summary"></div>
  <div class="markdown level0 conceptual"></div>
  <div class="markdown level0 remarks"></div>
    <h3 id="classes">
Classes
</h3>
      <h4><a class="xref" href="C1.DataCollection.C1CacheDataCollection-1.html">C1CacheDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection that takes another source and cache the items.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1ConvertDataCollection-2.html">C1ConvertDataCollection&lt;S, T&gt;</a></h4>
      <section><p>Collection which allows converting the items through a select clause and cache the converted items.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1CursorDataCollection-1.html">C1CursorDataCollection&lt;T&gt;</a></h4>
      <section><p>Base class for cursor-like collection.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1CursorDataCollection-2.html">C1CursorDataCollection&lt;T, K&gt;</a></h4>
      <section><p>Base class for cursor-like collection.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DataCollectionBase-1.html">C1DataCollectionBase&lt;T&gt;</a></h4>
      <section><p>Base class for data collections.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DataCollectionEx.html">C1DataCollectionEx</a></h4>
      <section><p>Extension methods for <a class="xref" href="C1.DataCollection.C1DataCollection-1.html">C1DataCollection&lt;T&gt;</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DataCollectionList-1.html">C1DataCollectionList&lt;T&gt;</a></h4>
      <section><p>Data collection wrapper for exposing it as a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList&lt;T&gt;</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DataCollection-1.html">C1DataCollection&lt;T&gt;</a></h4>
      <section><p>Implements an in-memory collection which takes a data source and applies the sort and filter operations.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DelegateList-1.html">C1DelegateList&lt;T&gt;</a></h4>
      <section><p>Exposes an IList created dynamically by specifying a count and a selector which provide the items</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1DynamicList-1.html">C1DynamicList&lt;T&gt;</a></h4>
      <section><p>List which can be initialized with an arbitrary <a class="xref" href="C1.DataCollection.C1DynamicList-1.Count.html#C1_DataCollection_C1DynamicList_1_Count">Count</a> of (null) items.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1EditableDataCollection-1.html">C1EditableDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection which allows performing changes locally until they are committed to the inner source.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1FilterDataCollection-1.html">C1FilterDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection which supports filtering.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1FilterDataCollection-1.FilterCache.html">C1FilterDataCollection&lt;T&gt;.FilterCache</a></h4>
      <section><p>Cache for compiled expressions.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1GroupDataCollection-1.html">C1GroupDataCollection&lt;S&gt;</a></h4>
      <section><p>Collection which supports grouping</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1HierarchicalDataCollection-1.html">C1HierarchicalDataCollection&lt;T&gt;</a></h4>
      <section><p>Base class of collections that are composed by others <a class="xref" href="C1.DataCollection.C1HierarchicalDataCollection-1.InternalCollections.html#C1_DataCollection_C1HierarchicalDataCollection_1_InternalCollections">InternalCollections</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1LengthList.html">C1LengthList</a></h4>
      <section><p>Virtual list of double numbers optimized for getting the accumulation up to a specified index;</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1PagedDataCollection-1.html">C1PagedDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection that wraps another collection to be shown in pages of a maximum number of items.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1ScopedDataCollection-1.html">C1ScopedDataCollection&lt;T&gt;</a></h4>
      <section><p>Wrap collection that is constrained to get and modify a specific property of the data items without affecting the rest of the properties.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SelectDataCollection-2.html">C1SelectDataCollection&lt;S, T&gt;</a></h4>
      <section><p>Collection which allows transforming the items through a select clause.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SelectManyDataCollection-2.html">C1SelectManyDataCollection&lt;S, T&gt;</a></h4>
      <section><p>Collection which allows transforming the items through a select many clause.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SequenceDataCollection-1.html">C1SequenceDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection that is composed of a sequence of other <a class="xref" href="C1.DataCollection.C1SequenceDataCollection-1.Collections.html#C1_DataCollection_C1SequenceDataCollection_1_Collections">Collections</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SortDataCollection-1.html">C1SortDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection which supports sorting.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SortDataCollection-1.SortCache.html">C1SortDataCollection&lt;T&gt;.SortCache</a></h4>
      <section><p>Cache for compiled predicates.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1SpanDataCollection-1.html">C1SpanDataCollection&lt;T&gt;</a></h4>
      <section><p>This collection is a portion of another collection.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1TreeDataCollection-1.html">C1TreeDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection whose items are parent of other items of the same type.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1TreeDataCollection-1.TreeCache.html">C1TreeDataCollection&lt;T&gt;.TreeCache</a></h4>
      <section><p>Cache for compiled expressions.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1VirtualDataCollection-1.html">C1VirtualDataCollection&lt;T&gt;</a></h4>
      <section><p>Base class for data-virtualized collections.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1WrapDataCollection-1.html">C1WrapDataCollection&lt;T&gt;</a></h4>
      <section><p>Collection which takes another collection as source.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1WrapDataCollection-2.html">C1WrapDataCollection&lt;S, T&gt;</a></h4>
      <section><p>Collection which takes another collection as source.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.C1WrapDataCollection-2.SuppressionContext.html">C1WrapDataCollection&lt;S, T&gt;.SuppressionContext</a></h4>
      <section><p>Suppression context used to handle the notifications</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.CacheDataCollectionItemEventArgs-1.html">CacheDataCollectionItemEventArgs&lt;T&gt;</a></h4>
      <section><p>Contains information about an item of the cache.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.CancelEventArgs.html">CancelEventArgs</a></h4>
      <section><p>Event data for cancellable events.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterBinaryExpression.html">FilterBinaryExpression</a></h4>
      <section><p>Combines two filter expressions using a logical operator.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterExpression.html">FilterExpression</a></h4>
      <section><p>Abstract filter expression. Use <a class="xref" href="C1.DataCollection.FilterOperationExpression.html">FilterOperationExpression</a> to create a concrete filter operations and <a class="xref" href="C1.DataCollection.FilterNaryExpression.html">FilterNaryExpression</a> and <a class="xref" href="C1.DataCollection.FilterNotExpression.html">FilterNotExpression</a> to apply logical operations between filter expressions.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterNaryExpression.html">FilterNaryExpression</a></h4>
      <section><p>Combines the specified filter expressions using a logical operator.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterNotExpression.html">FilterNotExpression</a></h4>
      <section><p>Filter expression which negates another expression.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterOperationExpression.html">FilterOperationExpression</a></h4>
      <section><p>Describes a concrete filter expression.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterPredicateExpression.html">FilterPredicateExpression</a></h4>
      <section><p>Filter expression which takes a predicate as the filtering function.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterTextExpression.html">FilterTextExpression</a></h4>
      <section><p>Describes a text filter expression with match case and match whole word properties.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterUnaryExpression.html">FilterUnaryExpression</a></h4>
      <section><p>Describes a concrete filter expression.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterUnaryExpression-1.html">FilterUnaryExpression&lt;T&gt;</a></h4>
      <section><p>Describes a concrete filter expression.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.GroupDescription.html">GroupDescription</a></h4>
      <section><p>Describes a group operation.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.IDataCollectionEx.html">IDataCollectionEx</a></h4>
      <section><p>Extension methods for <a class="xref" href="C1.DataCollection.IDataCollection-1.html">IDataCollection&lt;T&gt;</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.IReadOnlyListEx.html">IReadOnlyListEx</a></h4>
      <section><p>Extensions for <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1">IReadOnlyList&lt;T&gt;</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.NotifyCollectionChangedAsyncEventArgs.html">NotifyCollectionChangedAsyncEventArgs</a></h4>
      <section><p>Provides event data for collection events as well as support for asynchronously waiting for the event handlers.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.NotifyCollectionChangedDeferralsAwaiter.html">NotifyCollectionChangedDeferralsAwaiter</a></h4>
      <section><p>Event awaiter which provides the event arguments.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.NotifyCollectionChangedEventArgsEx.html">NotifyCollectionChangedEventArgsEx</a></h4>
      <section><p>Extension methods for <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.specialized.notifycollectionchangedeventargs">NotifyCollectionChangedEventArgs</a></p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ScopedFilterExpressionEx.html">ScopedFilterExpressionEx</a></h4>
      <section><p>Set of extension methods to work with scoped filter expressions</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.SortDescription.html">SortDescription</a></h4>
      <section><p>Describes a sort operation.</p>
</section>
    <h3 id="interfaces">
Interfaces
</h3>
      <h4><a class="xref" href="C1.DataCollection.IDataCollectionGroup-2.html">IDataCollectionGroup&lt;K, T&gt;</a></h4>
      <section><p>Abstracts a group of <a class="xref" href="C1.DataCollection.IDataCollection-1.html">IDataCollection&lt;T&gt;</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.IDataCollection-1.html">IDataCollection&lt;T&gt;</a></h4>
      <section><p>Abstracts the transformation of a data source into a collection.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ILoadedItem-1.html">ILoadedItem&lt;T&gt;</a></h4>
      <section><p>Contains information about the items that has been loaded so far.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportAsyncLoading-1.html">ISupportAsyncLoading&lt;T&gt;</a></h4>
      <section><p>Specifies a calling contract for collection that support asynchronous loading.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportConnection.html">ISupportConnection</a></h4>
      <section><p>Specifies a calling contract for collections that needs a connection to the source.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportCreateNewItem-1.html">ISupportCreateNewItem&lt;T&gt;</a></h4>
      <section><p>Specifies a calling contract for collections that support the creation of its items.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportEditing-1.html">ISupportEditing&lt;T&gt;</a></h4>
      <section><p>Specifies a calling contract for collections that support editing.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportFiltering.html">ISupportFiltering</a></h4>
      <section><p>Specifies a calling contract for collections that support filtering.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportGrouping.html">ISupportGrouping</a></h4>
      <section><p>Specifies a calling contract for collections that support grouping.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportIncrementalLoading.html">ISupportIncrementalLoading</a></h4>
      <section><p>Specifies a calling contract for collections that support incremental loading.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportIndexing-1.html">ISupportIndexing&lt;T&gt;</a></h4>
      <section><p>Specifies a calling contract for collections that support getting the index of an item.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportPaging.html">ISupportPaging</a></h4>
      <section><p>Specifies a calling contract for collections that support paging.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportRangeEditing-1.html">ISupportRangeEditing&lt;T&gt;</a></h4>
      <section><p>Specifies a calling contract for collections that support range editing.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportRefreshing.html">ISupportRefreshing</a></h4>
      <section><p>Specifies a calling contract for collections that support refreshing.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportSorting.html">ISupportSorting</a></h4>
      <section><p>Specifies a calling contract for collections that support sorting.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportSource.html">ISupportSource</a></h4>
      <section><p>Specifies a calling contract for collections whose data comes from another source.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ISupportVirtualization.html">ISupportVirtualization</a></h4>
      <section><p>Specified whether the collection virtualizes the data.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.ITreeDataCollection-1.html">ITreeDataCollection&lt;T&gt;</a></h4>
      <section><p>Abstract collection whose items are parent of other items of the same type.</p>
</section>
    <h3 id="enums">
Enums
</h3>
      <h4><a class="xref" href="C1.DataCollection.ConnectionState.html">ConnectionState</a></h4>
      <section><p>The state of the connection of the collection supporting <a class="xref" href="C1.DataCollection.ISupportConnection.html">ISupportConnection</a>.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterCombination.html">FilterCombination</a></h4>
      <section><p>Represents the valid filter combinations to create a filter expression.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.FilterOperation.html">FilterOperation</a></h4>
      <section><p>Represents the valid operations.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.SortDirection.html">SortDirection</a></h4>
      <section><p>Direction of the sort operation.</p>
</section>
      <h4><a class="xref" href="C1.DataCollection.VirtualDataCollectionMode.html">VirtualDataCollectionMode</a></h4>
      <section><p>Specifies the different modes the data can be loaded.</p>
</section>


</div>
