1

试图找出一个方程式来获取页面所在的当前组,如果它们被分组如下。

变量:

PageSize = 5
PageIndex = 21
GroupSize = 5
TotalItems = 1000
CurrentPage = PageIndex + 1

寻找:

**CurrentGroup = ?**

如果有 1000 个项目并且您的组大小为 5,则有 200 个组(TotalItems / GroupSize)。这意味着 CurrentPage 22 必须位于第 5 组

Group 1: 1 2 3 4 5
Group 2: 6 7 8 9 10
Group 3: 11 12 13 14 15
Group 4: 16 17 18 19 20
Group 5: 21 22 23 24 25
4

2 回答 2

2

公式

1+floor((CurrentPage-1)/GroupSize)

测试

1 -> 1 
.. 
5 -> 1 
6 -> 2 
.. 
9 -> 2
..
22 -> 5
于 2009-01-27T18:25:54.523 回答
1

我想这就是你要问的——

假设整数数学:

 page = ( item / ItemsPerPage ) + 1; // depends if 0 based.
 pageIndex = item % ItemsPerPage;
 group = ( page / GroupSize );

页面是您正在寻找的页面

pageIndex是它在目标页面上的位置

group是它基于 GroupSize 适合的实际组

本质上,您只是添加了另一个级别的分页,因此与分页相同的数学运算。

于 2009-01-27T18:19:54.300 回答