[]
        
(Showing Draft Content)

Collection Types

The DataCollection library includes several data components that are designed for different scenarios.

  • C1DataCollection: This collection combines the most common transformations such as sorting, filtering and grouping into one.​

  • C1FilterDataCollection: This collection filters the items creating a new collection by a specified criterion.

  • C1SortDataCollection: This collection sorts the items by a specified sort path and direction.

  • C1GroupDataCollection: This special collection supports data record grouping in memory. The level of grouping supported depends on the control. For instance, ListView can only display one-level of grouped data, whereas FlexGrid can show multiple levels.​

  • C1PagedDataCollection: This collection wraps another collection to be shown in pages of a maximum number of items.. This collection is a transforming collection, like C1SortDataCollection or C1FilterDataCollection.​

  • C1CursorDataCollection: This provides abstract base class implementation of IDataCollection for remote-source collection views. It also provides cursor-based data virtualization and can be used to display information from rest-services, or public services like FaceBook, Twitter, DropBox, OneDrive, Google Drive etc.​ This class is appropriate for wrapping data services that return the data in pages and give a token to get the next page.

  • C1VirtualDataCollection: This provides abstract base class to provide page-like data virtualization. This collection view also resolves the problem of synchronizing requests and avoiding duplicates.​

  • C1EditableDataCollection: In this collection, changes made to the collection are tracked locally and aren’t committed to the source immediately. It’s similar to the .NET DataTable.

  • C1SelectDataCollection: This collection allows transforming every item into another item. It is highly useful to create a view-model collection of items.​ It allows transforming the items through a select clause.

  • C1SelectManyDataCollection: This collection is like C1SelectDataCollection, but every item of the original collection is converted to a range of items in the resulting collection.​

  • C1CacheDataCollection: This collection keeps a reference to the items when they are accessed. It can be used together with C1SelectDataCollection to avoid calling the selector repeatedly for the same item, and thus improve performance.​

  • C1SequenceDataCollection: This collection allows composing a range of collection into one sequentially to be exposed as a single collection.​

  • C1WrapDataCollection: This collection takes another collection as source to perform some specific transformation. By default, C1WrapDataCollection forwards everything to the source.