尝试找出一个等式来获取当前组的页面,如果它们的分组如下所示。
变量:
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
答案 0 :(得分:2)
式
1+floor((CurrentPage-1)/GroupSize)
测试
1 -> 1
..
5 -> 1
6 -> 2
..
9 -> 2
..
22 -> 5
答案 1 :(得分:1)
我认为这就是你所要求的 -
假设整数数学:
page = ( item / ItemsPerPage ) + 1; // depends if 0 based.
pageIndex = item % ItemsPerPage;
group = ( page / GroupSize );
Page 是您正在寻找的页面
pageIndex 是它在目标网页上的位置
组是基于GroupSize
的实际组合本质上,你只是添加了另一个级别的分页,所以相同的数学运算就像分页一样。