public partial class Form11 : Form

{
public Form11()
{

InitializeComponent();
}

private int Inum = 1;
//行号,规定其索引初始值为1
int pagesize = 4;
int allCount
=0;
int pagecount = 0;

private void
Form11_Load(object sender, EventArgs e)
{

using(SqlConnection connection = new
SqlConnection("server=数服务器名称;uid=sa;pwd=sa;database=数据库名"))

{

SqlDataAdapter da = new SqlDataAdapter("select * from
tb_Land", connection);

DataTable dt = new DataTable();

da.Fill(dt);

allCount = dt.Rows.Count;
//获取数据表中记录的个数

pagecount = allCount %
pagesize; //页数 = 总数/显示的行数

//只能显示一页,判断是否是整除
if (pagecount == 0)

{
pagecount =allCount / pagesize;

}
else
{
pagecount
= allCount / pagesize + 1;
}

this.label1.Text = "共" +
pagecount.ToString() + "页";

show(1,4);
//分页显示记录

// this.label2.Text = "当前第" + Inum.ToString() +
"页";
}
}

/// <summary>
///
分页显示数据表中的信息
/// </summary>
/// <param
name="start"></param>
/// <param
name="end"></param>
private void show(int start,int
end)
{
SqlConnection connection = new
SqlConnection("server=服务器名称;uid=sa;pwd=sa;database=数据库名称");

SqlDataAdapter das = new
SqlDataAdapter("select top "+pagesize+" * from
tb_Land where Id not in (select top "+pagesize*(Inum-1)+" Id from

tb_Land)",connection);
//sql语句

DataSet ds = new DataSet();

//显示指定范围的记录

das.Fill(ds,"one");

this.dataGridView1.DataSource =
ds.Tables["one"].DefaultView; //绑定显示数据
ds =
null;
}

//第一页
private void
linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs
e)
{
Inum = 1;
show(Inum,
pagesize);
}

//末尾页
private void
linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs
e)
{
Inum = pagecount;
show(Inum-1,
pagesize);
}

//下一页
private void
linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs
e)
{
Inum++;
if (Inum <= pagesize)
//如果没有超出记录行数
{
show(Inum,
pagesize);
}
else

{
MessageBox.Show("现已是最后一页记录");
Inum =
pagecount-1; 更改为 Inum = pagecount;
return;
}

}

//上一页
private void
linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

{
Inum--;
if (Inum >
0) //如果当前不是首记录
{

show(Inum, pagesize); //显示上一页记录
}

else
{

MessageBox.Show("现已是第一页记录");
Inum =
1;

return;

}
}

}
}

c#在winform中用DataGridView实现分页效果的更多相关文章

  1. winform中DataGridView实现分页功能

    WinForm轻松实现自定义分页 (转载) WinForm轻松实现自定义分页 (转载)   转载至http://xuzhihong1987.blog.163.com/blog/static/26731 ...

  2. winform里dataGridView分页代码,access数据库

    winform里dataGridView分页,默认dataGridView是不分页的和webform里不一样,webform中GridView自带自带了分页. 现在c/s的程序很多时候也需要webfo ...

  3. C# DataGridView自定义分页控件

    好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...

  4. WinForm轻松实现自定义分页 (转载)

    转载至http://xuzhihong1987.blog.163.com/blog/static/267315872011315114240140/ 以前都是做web开发,最近接触了下WinForm, ...

  5. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  6. WinForm Control - DataGridView

    http://blog.csdn.net/fangxing80/article/details/1561011 .NET 2.0 - WinForm Control - DataGridView 编程 ...

  7. winfrom dataGridView 自定义分页实现

    Winfrom 基本处于忘光的阶段.先需要做个winfrom 的软件.然后自己扩展了DataGridView带分页的控件.废话不多说 上图先   现在一步步实现其效果. 1.添加用户控件 上图即可知道 ...

  8. 基于Winform框架DataGridView控件的SqlServer数据库查询展示功能的实现

    关键词:Winform.DataGridView.SqlServer 一个基于winform框架的C/S软件,主要实现对SqlServer数据库数据表的实时查询. 一.为DataGridView添加数 ...

  9. winform 取消datagridview第一行选中状态

    C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝 http://www.cnblogs.com/freeliver54/archive/2009/02/16/13913 ...

随机推荐

  1. SQL的子查询操作

    对于表中的每一个记录,我们有时候需要提取特殊的或者你需要的记录,要提前做一个表的筛选,之后再对你选出的记录做一个修改,此时你必须使用SQL的子查询操作.如:修改id=5的记录的strContent字段 ...

  2. Python大数据:信用卡逾期分析

    # -*- coding:utf-8 -*- # 数据集成 import csv import numpy as np import pandas as pd import matplotlib.py ...

  3. HTTPS握手

    作用 内容加密 建立一个信息安全通道,来保证数据传输的安全: 身份认证 确认网站的真实性 数据完整性 防止内容被第三方冒充或者篡改 https的采用了对称加密和非对称加密.握手过程中采用非对称加密,得 ...

  4. 运行mlflow命令报错 The 'nose' distribution was not found and is required by nose-exclude

    安装好mlflow之后命令行运行: mlflow 得到报错: 解决: sudo pip3 install nose

  5. linux中gdb的可视化调试

    今天get到一个在linux下gdb调试程序的技巧和大家分享一下!平时我们利用gcc进行编程,进行程序调试时,观察程序的跳转等不是这么直观.都是入下的界面! 但是如果我们在编译连接时上加了-g命令生成 ...

  6. redhat 6.6 离线安装docker

    本机环境:redhat6.6 uname -a Linux host- -.el6.x86_64 # SMP Tue Sep :: EDT x86_64 x86_64 x86_64 GNU/Linux ...

  7. Java API操作HA方式下的Hadoop

    通过java api连接Hadoop集群时,如果集群支持HA方式,那么可以通过如下方式设置来自动切换到活动的master节点上.其中,ClusterName 是可以任意指定的,跟集群配置无关,dfs. ...

  8. Mybatis入门和简单Demo

    一.Mybatis的诞生 回顾下传统的数据库开发,JDBC和Hibernate是使用最普遍的技术,但这两种ORM框架都存在一定的局限性: JDBC:最原生的技术,简单易学,执行速度快,效率高,适合大数 ...

  9. Linux查看某一个端口监听情况

    1.使用lsof   lsof -i:端口号查看某个端口是否被占用 2.使用netstat 使用netstat -anp|grep 80 

  10. 运行javac 报告javac不是内部或外部命令,但是运行java、java-version正常

    以前装jdk 从来没遇到过今天这种情况,各种解决办法试了一下午,终于出来了,说一下解决的办法: JAVA_HOME .classpath 都在系统变量中建立好: java_home 添加jdk的安装目 ...