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;
            }
  • 相关阅读:
    删除旧版vue-cli
    vue.extend和vue.component的区别
    vue-loader处理vue文件
    CentOS7安装iptables防火墙
    java类的初始化顺序
    java的接口和抽象类的理解
    js中的in操作符
    js中call和apply函数
    js的类型转换
    闭包作用
  • 原文地址:https://www.cnblogs.com/SummerRain/p/5540844.html
Copyright © 2011-2022 走看看