Skip to content

Commit 865be16

Browse files
author
Raj Kumar Sri Ramulu
committed
Added a field to Grid data result to use the new page number when the skip value is greater than or equal to total available value
1 parent 4d67533 commit 865be16

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

blazorbootstrap/Models/GridDataProviderRequest.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,21 @@ public GridDataProviderResult<TItem> ApplyTo(IEnumerable<TItem> data)
6262

6363
// apply paging
6464
var totalCount = resultData!.Count(); // before paging
65-
if (PageNumber > 0 && PageSize > 0)
65+
int? newPageNumber = null;
66+
bool updatePageNumber = false;
67+
if (PageNumber > 0 && PageSize > 0 && totalCount > 0)
6668
{
6769
int skip = (PageNumber - 1) * PageSize;
70+
if (totalCount <= skip)
71+
{
72+
updatePageNumber = true;
73+
newPageNumber = (totalCount / PageSize) + (totalCount % PageSize == 0 ? 0 : 1);
74+
skip = (newPageNumber.Value - 1) * PageSize;
75+
}
6876
resultData = resultData!.Skip(skip).Take(PageSize);
6977
}
7078

71-
return new GridDataProviderResult<TItem> { Data = resultData, TotalCount = totalCount };
79+
return new GridDataProviderResult<TItem> { Data = resultData, TotalCount = totalCount, UpdatePageNumber = updatePageNumber, PageNumber = newPageNumber };
7280
}
7381

7482
#endregion

blazorbootstrap/Models/GridDataProviderResult.cs

+16
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,21 @@ public class GridDataProviderResult<TItem>
2020
/// </remarks>
2121
public int? TotalCount { get; init; }
2222

23+
/// <summary>
24+
/// Updates the page number of the grid if set to true.
25+
/// </summary>
26+
/// <remarks>
27+
/// Default value is false.
28+
/// </remarks>
29+
public bool UpdatePageNumber {get;set;}=false;
30+
31+
/// <summary>
32+
/// Updates the page number of the grid.
33+
/// </summary>
34+
/// <remarks>
35+
/// Default value is null.
36+
/// </remarks>
37+
public int? PageNumber {get;init;}
38+
2339
#endregion
2440
}

0 commit comments

Comments
 (0)