zoukankan      html  css  js  c++  java
  • C#-DataTable分页代码

            /// <summary>
            /// DataTable分页并取出指定页码的数据
            /// </summary>
            /// <param name="dtAll">DataTable</param>
            /// <param name="pageNo">页码,注意:从1开始</param>
            /// <param name="pageSize">每页条数</param>
            /// <returns>指定页码的DataTable数据</returns>
            private DataTable getOnePageTable(DataTable dtAll, int pageNo, int pageSize)
            {
                var totalCount = dtAll.Rows.Count;
                var totalPage = getTotalPage(totalCount, pageSize);
                var currentPage = pageNo;
                currentPage = (currentPage > totalPage ? totalPage : currentPage);//如果PageNo过大,则较正PageNo=PageCount
                currentPage = (currentPage <= 0 ? 1 : currentPage);//如果PageNo<=0,则改为首页
                //----克隆表结构到新表
                var onePageTable = dtAll.Clone();
                //----取出1页数据到新表
                var rowBegin = (currentPage - 1) * pageSize;
                var rowEnd = currentPage * pageSize;
                rowEnd = (rowEnd > totalCount ? totalCount : rowEnd);
                for (var i = rowBegin; i <= rowEnd - 1; i++)
                {
                    var newRow = onePageTable.NewRow();
                    var oldRow = dtAll.Rows[i];
                    foreach (DataColumn column in dtAll.Columns)
                    {
                        newRow[column.ColumnName] = oldRow[column.ColumnName];
                    }
                    onePageTable.Rows.Add(newRow);
                }
                return onePageTable;
            }
    
            /// <summary>
            /// 返回分页后的总页数
            /// </summary>
            /// <param name="totalCount">总记录条数</param>
            /// <param name="pageSize">每页显示条数</param>
            /// <returns>总页数</returns>
            public int getTotalPage(int totalCount, int pageSize)
            {
                var totalPage = (totalCount / pageSize) + (totalCount % pageSize > 0 ? 1 : 0);
                return totalPage;
            }
  • 相关阅读:
    json格式转换
    早该知道的7个JavaScript技巧
    SPFA加上SLF时判负环的条件
    HDU 4061 A Card Game
    线性筛法求素数
    STL之deque
    POJ 3219 二项式系数
    HDU 4296 Buildings
    HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)
    拆点网络流(POJ3281)
  • 原文地址:https://www.cnblogs.com/SummerRain/p/5540844.html
Copyright © 2011-2022 走看看