예제 #1
0
        /// <summary>
        /// 生成分页数据
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="PageSize">每页大小</param>
        /// <param name="pageNumber">页码</param>
        /// <returns></returns>
        public static PagingListData <DataRow> ToPagingData(this DataTable dt, int PageSize, int pageNumber)
        {
            PagingListData <DataRow> pd = new PagingListData <DataRow>
            {
                pagenumber = pageNumber,
                pagesize   = PageSize,
                total      = dt.Rows.Count
            };

            if (pageNumber < 1)
            {
                pageNumber = 1;
            }

            /*
             * int minIndex = PageSize * (pageNumber - 1) + 1;
             * int maxIndex = PageSize * pageNumber;
             */
            int minIndex    = PageSize * (pageNumber - 1);//从零开始
            int maxIndex    = PageSize * pageNumber - 1;
            int rowMaxIndex = (pd.total - 1) >= maxIndex ? maxIndex : (pd.total - 1);

            pd.rows = new List <DataRow>();
            for (int i = minIndex; i <= rowMaxIndex; i++)
            {
                pd.rows.Add(dt.Rows[i]);
            }

            return(pd);
        }
예제 #2
0
        /// <summary>
        /// 生成分页数据
        /// </summary>
        /// <param name="list"></param>
        /// <param name="PageSize">每页大小</param>
        /// <param name="pageNumber">页码</param>
        /// <returns></returns>
        public static PagingListData <T> ToPagingData <T>(this List <T> list, int PageSize, int pageNumber) where T : class, new()
        {
            if (pageNumber < 1)
            {
                pageNumber = 1;
            }
            if (PageSize < 1)
            {
                PageSize = 10;
            }

            PagingListData <T> pld = new PagingListData <T>();

            pld.pagenumber = pageNumber;
            pld.pagesize   = PageSize;
            pld.total      = list.Count;


            /*
             * int minIndex = PageSize * (pageNumber - 1) + 1;
             * int maxIndex = PageSize * pageNumber;
             */

            int      minIndex    = PageSize * (pageNumber - 1); //从零开始
            int      maxIndex    = PageSize * pageNumber - 1;   //1210
            int      rowMaxIndex = (pld.total - 1) >= maxIndex ? maxIndex : (pld.total - 1);
            List <T> pageList    = new List <T>();

            for (int i = minIndex; i <= rowMaxIndex; i++)
            {
                pageList.Add(list[i]);
            }
            pld.rows = pageList;

            return(pld);
        }