C#的DataTable分页

方法一:

cs 复制代码
public static DataTable DtPage(DataTable dt, int pageIndex, int pageSize)
{
            DataTable pagedt = dt.Clone();
            var query = dt.AsEnumerable().Skip(pageIndex).Take(pageSize);
            foreach (DataRow item in query)
            {
                pagedt.Rows.Add(item.ItemArray);
 
            }

            return pagedt;
}

方法二:

cs 复制代码
public static DataTable DtPage(DataTable dt, int pageIndex, int pageSize)
{
            if (pageIndex== 0) { return dt; }

            DataTable newdt = dt.Copy();
            newdt.Clear();

            int rowbegin = (pageIndex- 1) * pageSize;
            int rowend = pageIndex * pageSize;

            if (rowbegin >= dt.Rows.Count) { return newdt; }

            if (rowend > dt.Rows.Count) { rowend = dt.Rows.Count; }

            for (int i = rowbegin; i <= rowend - 1; i++)
            {
                DataRow newdr = newdt.NewRow();
                DataRow dr = dt.Rows[i];
                foreach (DataColumn column in dt.Columns)
                {
                    newdr[column.ColumnName] = dr[column.ColumnName];
                }
                newdt.Rows.Add(newdr);
            }

            return newdt;
}

返回分页后的总页数:

cs 复制代码
 public int getTotalPage(int totalCount, int pageSize)
{
            var totalPage = (totalCount / pageSize) + (totalCount % pageSize > 0 ? 1 : 0);
            return totalPage;
}
相关推荐
我叫黑大帅1 分钟前
六边形架构?小白也能秒懂的「抗造代码秘诀」
java·后端·架构
不穿格子的程序员2 分钟前
Java基础篇——JDK新特性总结
java·虚拟线程·jdk新特性
一乐小哥10 分钟前
Java8 党狂喜!这篇把 Java9 到 25 的实用新功能讲透了,新手也能直接抄
java
Y***K43416 分钟前
TypeScript模块解析
前端·javascript·typescript
草莓熊Lotso20 分钟前
Git 本地操作进阶:版本回退、撤销修改与文件删除全攻略
java·javascript·c++·人工智能·git·python·网络协议
Ka1Yan22 分钟前
[数组] - LeetCode 704. 二分查找
java·开发语言·算法·leetcode·职场和发展
想看一次满天星32 分钟前
阿里140-语雀逆向分析
javascript·爬虫·python·语雀·阿里140
合作小小程序员小小店32 分钟前
web网页开发,在线%餐饮点餐%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·数据库·html·intellij-idea·springboot
SimonKing35 分钟前
IntelliJ IDEA 2025.2.x的小惊喜和小BUG
java·后端·程序员
曾帅16841 分钟前
idea springboot开发编译所见即所得应用不需要重启
java·spring boot·intellij-idea