1. 程式人生 > >分頁控制元件中的數字按鈕計算方法

分頁控制元件中的數字按鈕計算方法

計算思想:

以當前頁碼為標杆,使用卡尺的思想,左移,右移,再左移,最後得到起始、結束位置的按鈕頁碼。


@{
    var param = new
    {
        Page = 18,   //當前頁
        NumberButton = 5,//數字按鈕的個數
        PageSize = 5,//分頁資料量
        Records = 94//總資料量
    };
}
@{
    /*****************
     * Author : Kilin
     * Datetime : 2015-05-08
     * Email : [email protected]
* Description : 在保證當前頁碼處於中間位置前提下,計算數字按鈕的起始和結束位置 ******************/ int start = param.Page //開始按鈕數字 , end = 1 //結束按鈕數字 , pageCount = (int)Math.Ceiling((double)param.Records / (double)param.PageSize) //總頁數 , offset = param.NumberButton / 2 //偏移量 ; start -= offset;//計算左偏移量 start = start < 1 ? 1 : start;//限定最小頁碼 end = start + param.NumberButton - 1;//根據偏移計算結束按鈕 end = end > pageCount ? pageCount : end;//限定最大頁碼 start = end - param.NumberButton + 1;//根據偏移計算開始頁碼 start = start < 1 ? 1 : start;//限定最小頁碼 }