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;
            }
  • 相关阅读:
    寒假学习进度九
    寒假学习进度八
    RestTemplate-记录
    Axure licensee key 8~9-转
    Mysql数据库引擎介绍--转载
    Mysql外键约束--转载
    IDEA快捷建使用
    MySQL在windows上多次安装失败
    五款优秀的端口扫描工具
    java 图片处理 base64编码和图片二进制编码相互转换-转载
  • 原文地址:https://www.cnblogs.com/SummerRain/p/5540844.html
Copyright © 2011-2022 走看看