2009-01-27 22 views
1

试图找出一个方程来获得当前组的页面,如果他们被分组如下。什么是计算当前组的方程

变量:

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

查找:

**CurrentGroup = ?** 

如果有1000个项目,你有5组大小则有200组(TOTALITEMS/GROUPSIZE)。这意味着,当前第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 

回答

2

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

测试

1 -> 1 
.. 
5 -> 1 
6 -> 2 
.. 
9 -> 2 
.. 
22 -> 5 
+0

或者,更简单的公式:天花板(当前页/ GROUPSIZE)。很容易证明两者是相同的。 – ShreevatsaR 2009-01-28 04:49:27

1

我觉得这是你问的是什么 -

假设整数运算:

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

是你的页面” re seeking

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

是基于GROUPSIZE

从本质上说,你只是添加分页的另一个水平,使相同的数学工作寻呼符合实际的组。

相关问题