2009-01-27 11 views
1

En essayant de trouver une équation pour obtenir le groupe actuel une page serait dedans s'ils étaient groupés comme ci-dessous.Quelle est l'équation pour calculer le CurrentGroup

Variables:

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

Trouver:

**CurrentGroup = ?** 

S'il y a 1000 éléments et vous avez une taille de groupe de 5 alors il y a 200 groupes (TotalItems/groupSize). Cela signifie que PageCourante 22 doit atterrir dans le groupe 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 

Répondre

2

formule

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

test

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

Or, formule simple: plafond (PageCourante/groupsize). Facile à prouver que les deux sont équivalents. – ShreevatsaR

1

Je pense que c'est ce que vous demandiez -

Suppose mathématiques entier:

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

page est la page que vous » re chercher

pageIndex est-ce que c'est la position sur la page de destination

groupe est le groupe réel qu'il s'intègre basé sur groupSize

Essentiellement, vous êtes juste d'ajouter un autre niveau de pagination pour les mêmes travaux mathématiques que la pagination.