• Get a More Powerful CollectionView

    Based off the standard .NET implementation of ICollectionView, C1DataCollection is familiar and easy to use. Plus, get more powerful features such as data virtualization and asynchronous server operations.

  • Manage Data Cross-Platform

    The C1DataCollection is a .NET Standard library so it's supported across multiple platforms. Manage data sets consistently in your .NET Core, Windows Forms, WPF, UWP and Xamarin mobile apps.

  • Handle Large Data Sets with Data Virtualization

    C1DataCollection enables cursor and paging-based data virtualization for loading large data sets on-demand. On-demand loading is a powerful feature for applications where data is loaded in chunks as the user scroll down a list in real time.

Manipulate Data with Sorting, Filtering, and Grouping

C1DataCollection is a data management component able to perform the most common data transformations. It provides support for data manipulation in the form of sorting, filtering, and grouping collections in desktop apps.

On-Demand Loading with Data Virtualization

C1DataCollection enables cursor and paging-based data virtualization for incrementally loading large data sets. Incremental loading, or on-demand loading, is a powerful feature for applications where data is loaded in chunks as the user scroll down a list in real time.

Support for Existing Data Sources and Observable Sources

C1DataCollection supports interoperability with existing data sources such as ADO.NET Entity Framework, IBindingListView and DataTable. With observable sources, such as the ObservableCollection in .NET, notifications get sent when the original data source is modified. When filtering an an observable source through C1DataCollection, and update a record in the original data source, it will be automatically reflected in the filtered collection.

Easy to Use with Any Control

C1DataCollection is a compatible data source that can be used with any data-aware control, such as a list view or data grid.

  • WinForms - any control through C1DataCollectionBindingList
  • WPF - any control through C1CollectionView
  • UWP - any control through C1CollectionView
  • Xamarin - Xamarin.Forms ListView, Android RecyclerView, iOS UITableView, iOS UICollectionView, Mac NSTableView

A More Powerful CollectionView

Based off the standard .NET implementation of CollectionView, C1DataCollection offers additional features:

  • Maximize code reuse, type safety and performance with generics.
  • Create data collections that push and pull data from a remote server with asynchronous operations.
  • Implement a custom data collection more easily and focus only on what you need with separated features.
  • Easier to use with simplified extension methods.
  • Convert filter expressions to server-specific formats with an improved filtering interface.

Specialized Data Collections for Different Scenarios

The C1DataCollection library includes several additional data components that are especially designed for certain scenarios.

  • C1PagedDataCollection - provides a paged collection view that allows controls like C1DataPager to navigate pages.
  • C1CursorDataCollection – 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.
  • C1VirtualDataCollection – provides page-like data virtualization. This collection view also resolves the problem of synchronizing requests and avoiding duplicates.

  • C1EditableDataCollection – changes made to the collection are tracked locally and aren’t committed to the source immediately. It’s similar to the .NET DataTable.
  • 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.