C#-DataTable分页代码

时间:2021-07-30 20:22:09
        /// <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 <= ? : currentPage);//如果PageNo<=0,则改为首页
//----克隆表结构到新表
var onePageTable = dtAll.Clone();
//----取出1页数据到新表
var rowBegin = (currentPage - ) * pageSize;
var rowEnd = currentPage * pageSize;
rowEnd = (rowEnd > totalCount ? totalCount : rowEnd);
for (var i = rowBegin; i <= rowEnd - ; 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 > ? : );
return totalPage;
}

C#-DataTable分页代码的更多相关文章

  1. 使用jQuery开发datatable分页表格插件

    当系统数据量很大时,前端的分页.异步获取方式就成了较好的解决方案.一直以来,我都希望使用自己开发的 jquery 插件做系统. 现在,学习了 jquery 插件开发之后,渐渐地也自己去尝试着开发一些简 ...

  2. Oracle中经典分页代码!

    在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢? --查询所有数据 STUNO STUNAME STUAGE S ...

  3. 纯js分页代码&lpar;简洁实用&rpar;

    纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ...

  4. DataTable 分页

    #region DataTable 分页 /// <summary> /// Datatable 分页 /// </summary> /// <param name=&q ...

  5. PHP分页初探 一个最简单的PHP分页代码实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  6. JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

    1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...

  7. PHP分页初探 一个最简单的PHP分页代码的简单实现

    PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...

  8. Sql万能分页代码

    sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧 go  ----万能分页代码create procedure [dbo].[sp_datapager] @pagesize int, ...

  9. java常用公共代码二之分页代码的实现

    在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...

随机推荐

  1. SQL Server 2014 Database Mail重复发送邮件特殊案例

    在一数据库服务器(Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64))发现有个作业调用Database Mail发送邮件时, ...

  2. MySQL入门(二)

    一 MySQL概述 MySQL是一个很受欢迎的开源数据库,当我从Oracle转来做MySQL的时候,感觉最深刻的一点就是,这家伙居然是Server和Storage分开的!而且更不能忍的是,它竟然是插件 ...

  3. node-restify简介

    restify 是Node.js的模块.虽然restify的API或多或少的参考了express,但restify不是一个MVC框架,它是一套为了能够正确构建REST风格API而诞生的框架. ###安 ...

  4. Java&period;util&period;concurrent包学习&lpar;一&rpar; BlockingQueue接口

    JDK1.7 BlockingQueue<E>接口 (extends Queue<E>) 所有父接口:Collection<E>,Iterable<E> ...

  5. Google Play支付校验

    关于Google Play支付校验我之前在网上也找过大量的相关资料,发现大多数都是采用publicKey的方式来校验订单,但是在Google Play提供的官方实例中publicKey其实在客户端也是 ...

  6. 《JavaScript&plus;DOM编程艺术》的摘要(五)-----添加insertAfter

    在JS原生里面,没有提供insertAfter这个方法,不过我们可以利用appendChild.insertBefore.parentNode这些方法创建一个insertAfter方法,代码如下: f ...

  7. dos5章

    一.用set命令设置自定义变量 显示.设置或删除 cmd.exe 环境变量. SET [variable=[string]]variable 指定环境变量名.string 指定要指派给变量的一系列字符 ...

  8. 检测IP地址冲突的shell脚本-check&lowbar;server&lowbar;ip&lowbar;conflict&period;sh

    check_server_ip_conflict.sh 使用arping获取对应IP地址的MAC地址,如果和预料的不一致则报警: #!/bin/bash epg_addr_01="00:50 ...

  9. is&lowbar;null&comma; empty&comma; isset的区别

    参考博客: http://www.jb51.net/article/24666.htm http://www.jb51.net/article/36223.htm is_null, empty, is ...

  10. docker logs 查看实时日志

    docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1 --since : 此参数指定了输出日志开始日期,即只输出指定 ...