c#在winform中用DataGridView实现分页效果

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实现分页效果的更多相关文章
- winform中DataGridView实现分页功能
WinForm轻松实现自定义分页 (转载) WinForm轻松实现自定义分页 (转载) 转载至http://xuzhihong1987.blog.163.com/blog/static/26731 ...
- winform里dataGridView分页代码,access数据库
winform里dataGridView分页,默认dataGridView是不分页的和webform里不一样,webform中GridView自带自带了分页. 现在c/s的程序很多时候也需要webfo ...
- C# DataGridView自定义分页控件
好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...
- WinForm轻松实现自定义分页 (转载)
转载至http://xuzhihong1987.blog.163.com/blog/static/267315872011315114240140/ 以前都是做web开发,最近接触了下WinForm, ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
- WinForm Control - DataGridView
http://blog.csdn.net/fangxing80/article/details/1561011 .NET 2.0 - WinForm Control - DataGridView 编程 ...
- winfrom dataGridView 自定义分页实现
Winfrom 基本处于忘光的阶段.先需要做个winfrom 的软件.然后自己扩展了DataGridView带分页的控件.废话不多说 上图先 现在一步步实现其效果. 1.添加用户控件 上图即可知道 ...
- 基于Winform框架DataGridView控件的SqlServer数据库查询展示功能的实现
关键词:Winform.DataGridView.SqlServer 一个基于winform框架的C/S软件,主要实现对SqlServer数据库数据表的实时查询. 一.为DataGridView添加数 ...
- winform 取消datagridview第一行选中状态
C# WinForm 取消DataGridView的默认选中Cell 使其不反蓝 http://www.cnblogs.com/freeliver54/archive/2009/02/16/13913 ...
随机推荐
- HDU 4745 Two Rabbits(区间DP,最长非连续回文子串)
Two Rabbits Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total ...
- 设计模式之——Chain of Responsibility
Chain of Responsibility模式又叫做责任链模式,是将多个对象组成一条职责链,然后按照职责链上的顺序一个一个的找出是谁来负责处理. 这个模式很简单,下面就是一个实例程序,有六个处理器 ...
- Rochambeau---poj2912||zoj2751(并查集类似于食物链)
题目链接:http://poj.org/problem?id=2912 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1751 ...
- centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课
centos LNMP第一部分环境搭建 LAMP安装先后顺序 LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/local/php/{ ...
- [Axiom 3D]3.SceneManager场景管理器
首先看看Axiom.Core命名空间下public abstract class SceneManager : DisposableObject A SceneManager organizes th ...
- in 和 or 的效率问题
select * from table where col in (2,3,4,5,6) select * from table where col=2 or col=3 or col=4 or co ...
- RDD, DataFrame or Dataset
总结: 1.RDD是一个Java对象的集合.RDD的优点是更面向对象,代码更容易理解.但在需要在集群中传输数据时需要为每个对象保留数据及结构信息,这会导致数据的冗余,同时这会导致大量的GC. 2.Da ...
- [py]类属性和实例属性
默认类和实例的内置属性一致 class A: """测试类""" name = "maotai" def __init_ ...
- VMware跨电脑移动Linux虚拟机
环境:VMware-Workstation-12-Pro,Windows-10,CentOS-6.9-x86_64,Xshell5 概况 vmware自带的快照,克隆功能,都可以实现备份虚拟机的功能, ...
- cocos代码研究(22)Widget子类Layout学习笔记
理论基础 一个包含控件的容器. 子节点可以根据布局类型重新排序,它还可以开启剪裁,设置背景图像和颜色.继承自Widget,以及LayoutProtocol. 被 HBox, PageView, Rel ...