1

次のようにグループ化された場合、ページが含まれる現在のグループを取得するための方程式を理解しようとします。

変数:

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

探す:

**CurrentGroup = ?**

1000個のアイテムがあり、グループサイズが5の場合、200個のグループ(TotalItems / GroupSize)があります。これは、CurrentPage22がグループ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
4

2 に答える 2

2

方式

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

テスト

1 -> 1 
.. 
5 -> 1 
6 -> 2 
.. 
9 -> 2
..
22 -> 5
于 2009-01-27T18:25:54.523 に答える
1

これがあなたが求めていたものだと思います-

整数演算を想定しています:

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

ページはあなたが探しているページです

pageIndexは、宛先ページ上の位置です

groupは、GroupSizeに基づいて適合する実際のグループです。

本質的には、別のレベルのページングを追加するだけなので、同じ計算がページングとして機能します。

于 2009-01-27T18:19:54.300 に答える