int pageSize = 0;     //每页显示行数
int nMax = 0; //总记录数
int pageCount = 0; //页数=总记录数/每页显示行数
int pageCurrent = 0; //当前页号
int nCurrent = 0; //当前记录行
private void Bind()
{
//td = um.dataAll();
pageSize = 30; //设置页面行数
nMax = td.Rows.Count;
pageCount = (nMax / pageSize); //计算出总页数
if ((nMax % pageSize) > 0) pageCount++;
pageCurrent = 1; //当前页数从1开始
nCurrent = 0; //当前记录数从0开始
LoadData(); }
private void LoadData()
{
int nStartPos = 0; //当前页面开始记录行
int nEndPos = 0; //当前页面结束记录行
DataTable dtTemp = td.Clone(); //克隆DataTable结构框架 if (pageCurrent == pageCount)
{
nEndPos = nMax;
}
else
{
nEndPos = pageSize * pageCurrent;
} nStartPos = nCurrent;
lblPageCount.Text = "共 " + pageCount.ToString() + " 页";
txtCurrentPage.Text = Convert.ToString(pageCurrent); //从元数据源复制记录行
if (td.Rows.Count > 0)
{
for (int i = nStartPos; i < nEndPos; i++)
{
dtTemp.ImportRow(td.Rows[i]);
nCurrent++;
}
} dataGridView1.DataSource = dtTemp;
//datagridView默认不选中行 int endC = td.Rows.Count;
if (endC > pageSize * pageCurrent) endC = pageSize * pageCurrent;
int k = 0; for (int i = pageSize * (pageCurrent - 1) + 1; i <= endC; i++)
{ dataGridView1.Rows[k].HeaderCell.Value = i.ToString();
k++;
} }
private void up_Click(object sender, EventArgs e)
{
pageCurrent--;
if (pageCurrent <= 0)
{
MessageBox.Show("已经是第一页,请点击“下一页”查看!");
return;
}
else
{
nCurrent = pageSize * (pageCurrent - 1);
}
LoadData(); } private void down_Click(object sender, EventArgs e)
{
pageCurrent++;
if (pageCurrent > pageCount)
{
MessageBox.Show("已经是最后一页,请点击“上一页”查看!");
return;
}
else
{
nCurrent = pageSize * (pageCurrent - 1);
}
LoadData(); } private void first_Click(object sender, EventArgs e)
{
pageCurrent = 1;
nCurrent = pageSize * (pageCurrent - 1);
LoadData(); } private void end_Click(object sender, EventArgs e)
{
pageCurrent = pageCount;
nCurrent = pageSize * (pageCurrent - 1);
LoadData();
} private void skip_Click(object sender, EventArgs e)
{
int CurrentP = Convert.ToInt32(txtCurrentPage.Text.ToString());
if (CurrentP > pageCount)
{
MessageBox.Show("超过最大页数,请重新输入");
return;
}
else
{
pageCurrent = CurrentP;
nCurrent = pageSize * (pageCurrent - 1);
LoadData();
}
}

C# 翻页设计:首页,上一页,下一页,末页 ,跳转的更多相关文章

  1. wordpress文章显示同一分类下的上一篇下一篇

    我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...

  2. 2016/3/27 分页 共X条数据 本页x条 本页从x-y条 x/y页 首页 上一页 123456 下一页 末页 pagego echo $page->fpage(7,6,5,4,3,2,1,0);

    显示效果: fpage.class.php <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; / ...

  3. dedecms手机网站内页上一篇/下一篇的翻页功能

    修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...

  4. 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)

    1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...

  5. App启动页设计实例与技巧

    App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰 ...

  6. thinkPHP中的文章详情页实现“上一篇下一篇”功能经验分享

    前段时间在公司中接触到了用thinkPHP搭建的项目,其中涉及到了文章详情页上一篇下一篇翻页的功能实现效果. 因为刚接触这套框架和PHP,所以整理一下实现该功能的经验方法. 如果有不到位的地方,欢迎指 ...

  7. css进阶 03-网页设计和开发中,关于字体的常识

    03-网页设计和开发中,关于字体的常识 #前言 我周围的码农当中,有很多是技术大神,却常常被字体这种简单的东西所困扰. 这篇文章,我们来讲一讲关于字体的常识.这些常识所涉及到的问题,有很强的可操作性, ...

  8. phpcms_v9 多图字段 内容页,首页,分页自定义字段调用

    phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu 1 内容页调用 {loop $shigongtu $r}      <img src= ...

  9. 在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗

    转自 http://www.cnblogs.com/zdxster/archive/2011/01/27/1945868.html 在EOS6的项目中,如果采用VC++开发的ActiveX,那么第一次 ...

随机推荐

  1. [AngularJS + Webpack] Using Webpack for angularjs

    1. Install webpack & angular: npm install webpack angular 2. Create webpack.config.js file: modu ...

  2. Callgrind 使用 2

    Callgrind是一款和gprof类似的性能分析工具,与gprof不同的是它不需要在编译源码时附加特殊选项,但推荐加上调试选项.Callgrind使用cachegrind的统计信息Ir(I cach ...

  3. Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)

    1. 模拟斗地主洗牌和发牌 分析:     A:创建一个牌盒     B:装牌     C:洗牌     D:发牌     E:看牌 2. 代码实现: package cn.itcast_03; im ...

  4. .net+easyui系列--按钮

    easyui提供了各种按钮样式,包括搜索.新增.保存.删除等 <a id="btn" href="#" class="easyui-linkbu ...

  5. Lua Script

    注意事项: 1:Lua 只支持数字类型,浮点类型的值,在转换成Redis 协议值得时候,小数点会被忽略(如果需要在Lua中使用浮点值,建议用字符串代替) 2:Lua 返回表中如果遇到nils(空),转 ...

  6. js获得文件根目录

    function getRootPath(){ //获取当前网址,如: http://localhost:8083/proj/meun.jsp var curWwwPath = window.docu ...

  7. IOS开发之KVC与KVO简述

    KVC:Key-Value Coding KVO:Key-Value Observing Person.m #import <Foundation/Foundation.h> @inter ...

  8. javaee学习-Cookie使用范例

    Java中的javax.servlet.http.Cookie类用于创建一个Cookie Cookie类的主要方法 No. 方法 类型 描述 1 Cookie(String name, String  ...

  9. 10_Mybatis开发Dao方法——mapper代理实现

    [工程截图(几个关键的标红框)] [UserMapper.xml] <?xml version="1.0" encoding="UTF-8"?> & ...

  10. C++模板学习随笔

    本文学习内容参考:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C++模板 1.模板分为函数模板和类模板两种类型 函数模板针 ...