/// <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分页代码(简洁实用)

    纯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. [SmartFoxServer概述]SFS2X协议

    SFS2X 客户端-服务器协议 SFS2X使用了一种高效的二进制协议,这种协议可以使服务器在各方面都表现出色.消息通过客户端和服务器引擎得到快速转换,在带宽上传输可更加轻便.附加的即时压缩,能够在不影 ...

  2. 关于用CSS3画图形的一些思考

    众所周知,用CSS3的圆角.转换可以画出各种不同的形状,制作不同的图案,早些前先驱者已画出经典的叮当猫,iphone手机等展示CSS3的强大实力,趁最近有空我也对CSS3进行了一些实践,颇有收获. 用 ...

  3. JQuery学习(层级)ancestor & descendant

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. Git 放弃修改

    1.文件较少 git checkout -- 文件名 2.文件较多 (直接版本回退) git reset --hard HEAD 在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是H ...

  5. Windbg符号与源码 《第二篇》

    符号文件是一种辅助数据,它包含了对应用程序代码的一些标注信息,这些信息在调试过程中非常有用.如果没有辅助数据,那么能获得的信息就只有应用程序的二进制文件.二进制文件很难调试,因为无法看到代码中的函数名 ...

  6. Mac OS X Yosemite安装盘U盘制作

    从App Store下载Mac OS X Yosemite安装程序,下载后的安装文件保存在应用程序(/Applications)文件夹中.请注意,此时一定不要直接启动该程序安装 OS X Yosemi ...

  7. 我没发现Mvc里的 web.config 有什么用。

    实验过程 由于 Mvc2+ 引入 Area ,导致文件夹结构发生变化. Mvc下的 web.config 所在的位置是: ~/Areas/MySystem/Views/Web.config 对应的请求 ...

  8. KALI LINUX WEB 渗透测试视频教程—第16课 BEEF基本使用

    Kali Linux Web 渗透测试视频教程—第16课  BeEF基本使用 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第16课  BeEF基本使用............... ...

  9. AngularJS快速入门指南04:指令

    AngularJS通过指令将HTML属性进行了扩展. AngularJS指令 AngularJS指令是带有ng-前缀的扩展HTML属性. ng-app指令用来初始化AngularJS applicat ...

  10. [BTS] Exception occurred when persisting state to the database

    Error 1 Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'J ...