Что такое уравнение для расчета CurrentGroup - PullRequest
1 голос
/ 27 января 2009

Попытка выяснить уравнение для получения текущей группы, в которой была бы страница, если бы они были сгруппированы, как показано ниже.

Переменные:

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

Ответы [ 2 ]

2 голосов
/ 27 января 2009

Формула

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

Test

1 -> 1 
.. 
5 -> 1 
6 -> 2 
.. 
9 -> 2
..
22 -> 5
1 голос
/ 27 января 2009

Я думаю, это то, что вы спрашивали -

Предполагается целое число по математике:

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

Страница - это страница, которую вы ищете

pageIndex - это позиция на странице назначения

group - это фактическая группа, в которую он вписывается на основе GroupSize

По сути, вы просто добавляете еще один уровень подкачки, чтобы такая же математика работала как подкачка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...