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:
- a content-type filter limiting the items to type Company
- 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
Demo App and further links
You should find some examples in this demo App
History
- 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
-
objectServiceBasePaging
- 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
PageSize
The Page size in the paging. Defaults to 10.
[Configuration(Fallback = 10)]
public int PageSize { get; set; }