سؤال

وفي محاولة لمعرفة معادلة للحصول على المجموعة الحالية صفحة سيكون الدخول إذا كانوا مجمعة مثل أدناه.

والمتغيرات:

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
هل كانت مفيدة؟

المحلول

والفورمولا

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

واختبار

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

نصائح أخرى

وأعتقد أن هذا هو ما كنت تسأل -

ويفترض الرياضيات صحيحة:

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

ل هو الصفحة التي كنت تسعى

pageIndex هو انها موقف على الصفحة الوجهة

المجموعة هو مجموعة الفعلية تناسبها على أساس GroupSize

في الجوهر، كنت مجرد إضافة مستوى آخر من الترحيل بحيث يعمل بنفس الرياضيات كما الترحيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top