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;
            }
  • 相关阅读:
    Mac基本操作记录
    flutter vscode+第三方安卓模拟器
    git一些基本操作
    获取点击元素的绝对位置
    windows下提交前检测操作
    VGG网络学习
    MySQL数据库中文乱码
    配深度学习环境中的小tips(tensorflow+anaconda+keras+cuda)
    Docker安装指定的anaconda
    yolov1阅读
  • 原文地址:https://www.cnblogs.com/SummerRain/p/5540844.html
Copyright © 2011-2022 走看看