# DataPager Class

Namespace: [Qlik.Engine](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.htm)  
Assembly: Qlik.Engine.dll

A class providing a paging interface for a pageable structure.

## Inheritance

* System.Object
  * DataPager

    [](https://help.qlik.com/en-US/sense-developer/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.htm)
    #### Derived Classes
    * [HyperCubePager](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.HyperCubePager.htm)
    * [ListObjectPager](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.ListObjectPager.htm)

## Syntax

```
public abstract class DataPager : IDisposable, IChangeNotifier
```

## Constructors

| Name | Description |
| --- | --- |
| [DataPager(GenericObject, String)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.-ctor.htm#Qlik_Engine_DataPager__ctor_Qlik_Engine_GenericObject_System_String_) | Creates an interface for a pageable structure. |

## Fields

| Name | Description |
| --- | --- |
| [DefaultPageHeight](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.DefaultPageHeight.htm) | The default page height to use if no current page is defined. |
| [DefaultPageWidth](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.DefaultPageWidth.htm) | The default page width to use if no current page is defined. |
| [Path](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.Path.htm) | The property path to the pageable structure that the data pager provides an interface for. |

## Properties

| Name | Description |
| --- | --- |
| [AtEdge](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.AtEdge.htm#Qlik_Engine_DataPager_AtEdge) | Returns true for all pages that are at the edge of the data table. |
| [AtEdgeBottom](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.AtEdgeBottom.htm#Qlik_Engine_DataPager_AtEdgeBottom) | Returns true for all pages that are at the bottom edge of the data table. |
| [AtEdgeLeft](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.AtEdgeLeft.htm#Qlik_Engine_DataPager_AtEdgeLeft) | Returns true for all pages that are at the left edge of the data table. |
| [AtEdgeRight](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.AtEdgeRight.htm#Qlik_Engine_DataPager_AtEdgeRight) | Returns true for all pages that are at the right edge of the data table. |
| [AtEdgeTop](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.AtEdgeTop.htm#Qlik_Engine_DataPager_AtEdgeTop) | Returns true for all pages that are at the top edge of the data table. |
| [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) | The current set of pages. |
| [NumberOfColumns](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.NumberOfColumns.htm#Qlik_Engine_DataPager_NumberOfColumns) | The total number of columns in the data table. |
| [NumberOfRows](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.NumberOfRows.htm#Qlik_Engine_DataPager_NumberOfRows) | The total number of rows in the data table. |
| [OutsideEdge](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.OutsideEdge.htm#Qlik_Engine_DataPager_OutsideEdge) | Returns true for all pages that are completely outside the edge of the data table. |

## Methods

| Name | Description |
| --- | --- |
| [Dispose()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.Dispose.htm#Qlik_Engine_DataPager_Dispose) | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| [Dispose(Boolean)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.Dispose.htm#Qlik_Engine_DataPager_Dispose_System_Boolean_) | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| [GetAllData(NxPage)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetAllData.htm#Qlik_Engine_DataPager_GetAllData_Qlik_Engine_NxPage_) | Get all data from pager using the argument as initial page for iteration. |
| [GetAllData(Int32)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetAllData.htm#Qlik_Engine_DataPager_GetAllData_System_Int32_) | Get all data from pager starting from row 0 with page size width set to [NumberOfColumns](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.NumberOfColumns.htm#Qlik_Engine_DataPager_NumberOfColumns).<br><br>Equivalent to:<br><br>```<br>GetAllData(new NxPage { Height = pageHeight, Width = NumberOfColumns })<br>```<br><br>. |
| [GetCurrentPagesAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetCurrentPagesAsync.htm#Qlik_Engine_DataPager_GetCurrentPagesAsync) | The current set of pages. |
| [GetData()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetData.htm#Qlik_Engine_DataPager_GetData) | Returns data for [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages). |
| [GetData(IEnumerable<NxPage>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetData.htm#Qlik_Engine_DataPager_GetData_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__) | Returns data for the argument pages, or from CurrentPages if page argument is null. Moves<br>CurrentPages to the argument pages. |
| [GetData(Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetData.htm#Qlik_Engine_DataPager_GetData_System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) according to transform and returns data from the resulting pages. |
| [GetDataAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync) | Returns data for [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages). |
| [GetDataAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_Qlik_Engine_AsyncHandle_) | Returns data for [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages). |
| [GetDataAsync(AsyncHandle, IEnumerable<NxPage>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_Qlik_Engine_AsyncHandle_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__) | Returns data for the argument pages, or from CurrentPages if page argument is null. Moves<br>CurrentPages to the argument pages. |
| [GetDataAsync(AsyncHandle, Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_Qlik_Engine_AsyncHandle_System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) according to transform and returns data from the resulting pages. |
| [GetDataAsync(GenericObject, AsyncHandle, String, IEnumerable<NxPage>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_Qlik_Engine_GenericObject_Qlik_Engine_AsyncHandle_System_String_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__) | Returns data from the pageable structure. |
| [GetDataAsync(IEnumerable<NxPage>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__) | Returns data for the argument pages, or from CurrentPages if page argument is null. Moves<br>CurrentPages to the argument pages. |
| [GetDataAsync(Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetDataAsync.htm#Qlik_Engine_DataPager_GetDataAsync_System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) according to transform and returns data from the resulting pages. |
| [GetFirstPage()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetFirstPage.htm#Qlik_Engine_DataPager_GetFirstPage) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the first page and returns the data. |
| [GetFirstPageAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetFirstPageAsync.htm#Qlik_Engine_DataPager_GetFirstPageAsync) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the first page and returns the data. |
| [GetFirstPageAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetFirstPageAsync.htm#Qlik_Engine_DataPager_GetFirstPageAsync_Qlik_Engine_AsyncHandle_) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the first page and returns the data. |
| [GetInitialData()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetInitialData.htm#Qlik_Engine_DataPager_GetInitialData) | Returns data as defined by the InitialDataFetch setting. |
| [GetInitialDataAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetInitialDataAsync.htm#Qlik_Engine_DataPager_GetInitialDataAsync) | Returns data as defined by the InitialDataFetch setting. |
| [GetLastPage()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetLastPage.htm#Qlik_Engine_DataPager_GetLastPage) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the last page and returns the data. |
| [GetLastPageAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetLastPageAsync.htm#Qlik_Engine_DataPager_GetLastPageAsync) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the last page and returns the data. |
| [GetLastPageAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetLastPageAsync.htm#Qlik_Engine_DataPager_GetLastPageAsync_Qlik_Engine_AsyncHandle_) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the last page and returns the data. |
| [GetNextPage()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetNextPage.htm#Qlik_Engine_DataPager_GetNextPage) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the next page and returns the data. |
| [GetNextPageAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetNextPageAsync.htm#Qlik_Engine_DataPager_GetNextPageAsync) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the next page and returns the data. |
| [GetNextPageAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetNextPageAsync.htm#Qlik_Engine_DataPager_GetNextPageAsync_Qlik_Engine_AsyncHandle_) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the next page and returns the data. |
| [GetPreviousPage()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetPreviousPage.htm#Qlik_Engine_DataPager_GetPreviousPage) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the previous page and returns the data. |
| [GetPreviousPageAsync()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetPreviousPageAsync.htm#Qlik_Engine_DataPager_GetPreviousPageAsync) | Move [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the previous page and returns the data. |
| [GetPreviousPageAsync(AsyncHandle)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.GetPreviousPageAsync.htm#Qlik_Engine_DataPager_GetPreviousPageAsync_Qlik_Engine_AsyncHandle_) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) to the previous page and returns the data. |
| [IteratePages(IEnumerable<NxPage>, Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.IteratePages.htm#Qlik_Engine_DataPager_IteratePages_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Iterates through pages by repeatedly applying the argument transform and returning the data.<br>Application is performed until an iteration moves all pages outside the edge of the table. |
| [IteratePagesAsync(AsyncHandle, IEnumerable<NxPage>, Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.IteratePagesAsync.htm#Qlik_Engine_DataPager_IteratePagesAsync_Qlik_Engine_AsyncHandle_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Iterates through pages by repeatedly applying the argument transform and returning the data.<br>Application is performed until an iteration moves all pages outside the edge of the table. |
| [IteratePagesAsync(IEnumerable<NxPage>, Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.IteratePagesAsync.htm#Qlik_Engine_DataPager_IteratePagesAsync_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Iterates through pages by repeatedly applying the argument transform and returning the data.<br>Application is performed until an iteration moves all pages outside the edge of the table. |
| [MoveCurrentPages(Func<IEnumerable<NxPage>, IEnumerable<NxPage>>)](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.MoveCurrentPages.htm#Qlik_Engine_DataPager_MoveCurrentPages_System_Func_System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage__System_Collections_Generic_IEnumerable_Qlik_Engine_NxPage___) | Moves [CurrentPages](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.CurrentPages.htm#Qlik_Engine_DataPager_CurrentPages) according to transform without getting data. |
| [OnChanged()](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.OnChanged.htm#Qlik_Engine_DataPager_OnChanged) | Invokes the Changed event. |

## Events

| Name | Description |
| --- | --- |
| [Changed](https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/NetSDKAPIref/Content/Qlik.Engine.DataPager.Changed.htm) | This event fires either when the CurrentPages changes, or the generic object the pager observes notifies a change. |