Table of Contents

Class Paging

Namespace
ToSic.Eav.DataSources
Assembly
ToSic.Eav.DataSources.dll

The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.

Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.

The Paging DataSource is part of the Standard EAV Data Sources. It will limit the items returned to a page containing just a few items, and will also provide a paging-information so that the UI knows what page it's on and how many pages remain.

How to use with the VisualQuery

When using the VisualQuery you can just drag it into your query. This is what it usually looks like:

The above example shows:

  1. a content-type filter limiting the items to type Company
  2. a Paging which only passes on the first 3 companies of page 1

Using Url Parameters for Paging

This example shows how you can use the Url Parameter to page through the results:

...you could also set the page size from other tokens like url or app-configuration, like this:

Programming With The Paging DataSource

We recommend to use the VisualQuery where possible, as it's easier to understand and is identical for C# and JavaScript. It's also better because it separates data-retrieval from visualization.

Read also

You should find some examples in this demo App

History

  1. Introduced in EAV 4.x, 2sxc ?

API Documentation

[PublicApi]
[VisualQuery(NiceName = "Paging", UiHint = "Split data into pages and forward just one batch", Icon = "auto_stories", Type = DataSourceType.Logic, NameId = "ToSic.Eav.DataSources.Paging, ToSic.Eav.DataSources", DynamicOut = false, In = new string[] { "Default*" }, ConfigurationType = "|Config ToSic.Eav.DataSources.Paging", HelpLink = "https://go.2sxc.org/DsPaging")]
public sealed class Paging : DataSourceBase, IDataSource, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog, IDataSourceLinkable
Inheritance
Paging
Implements
Inherited Members

Remarks

Had a major, breaking update in v15. Consult the guide to upgrade your custom data sources.

Properties

PageNumber

The Page number to show - defaults to 1

[Configuration(Fallback = 1)]
public int PageNumber { get; set; }

Property Value

int

PageSize

The Page size in the paging. Defaults to 10.

[Configuration(Fallback = 10)]
public int PageSize { get; set; }

Property Value

int