winform分页案例简单实现方式~

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

最近,四班在做KTV点歌系统,正好需要用到分页的内容,所以今天我就整理整理,写了一个简易的winfrom分页案例,以下是案例截图:

案例分析:窗体加载时,默认显示第一页的内容,当单击“下一页”的按钮时,上面的内容就会换成第二页的内容,点击“上一页”按钮,上面所展示的内容就会换成第一页的内容,所有显示的内容均从数据库中查询显示。

上一页和下一页按钮中间显示的当前页和总页数,在翻页的同时,当前页也会随之变化。

下面说一下实现思路(集合分页):

  1. 清空所有的label控件。

  2. 从数据库中查询所有数据,放在集合中。

  3. 循环遍历集合中的数据,显示在label控件中。

  4. 通过公式(pageIndex-1)*pageSize来实现分页显示,其中pageIndex为当前页,pageSize为页大小。

  5. 总页数的计算方式:

    获取集合中的数据的长度,也就是总记录数,与页大小(每页显示的条数)计算出总页数:

    总数量除以页大小,如果余数为0,则商即总页数,否则在商的基础上加1为总页数。

下面是关键代码:

1.声明的公共变量:

/所有的数据List<string> gList = new List<string>();//当前页int pageIndex = 1;//总页数int totalPage = 0;//页大小int pageSize = 4;          DBHelper db = new DBHelper();

2.窗体的加载事件:

private void frmPage_Load(object sender, EventArgs e){//清空控件内容ClearLabel();//查询所有数据FindGradeAll();//总页数等于集合中的所有数据与页大小之间的计算totalPage = gList.Count % pageSize == 0 ? gList.Count / pageSize : gList.Count / pageSize + 1;//总页数this.lblTotalPage.Text = totalPage.ToString();//当前页this.lblPage.Text = pageIndex.ToString();//分页查询,默认显示第一页的内容PageShowGrade(1);}

3.查询所有的年级名称放在label中

//查询所有的年级名称放在集合中public void FindGradeAll() {string sql = "select * from grade";SqlDataReader dr = db.ExecuteReader(sql);while (dr.Read()){gList.Add(dr["gname"].ToString());}dr.Close();}

4.清空Label中的所有内容

//清空Label中的所有内容public void ClearLabel() { //获取panel中有多少个控件int count = this.panel1.Controls.Count;//清空for (int i = 0; i < count;i++ ) {Label lbl = (Label)this.panel1.Controls[i];lbl.Text = "暂无数据";}}

5.分页显示数据

//分页显示数据public void PageShowGrade(int pageIndex) {for (int i = 0; i < this.panel1.Controls.Count;i++ ) {Label lbl = (Label)this.panel1.Controls[i];int v = (pageIndex - 1) * pageSize + i;lbl.Text = gList[v];}}

6.下一页按钮

//下一页private void button2_Click(object sender, EventArgs e){//当前是最后一页if (pageIndex == totalPage){MessageBox.Show("现在已经是最后一页了");}else {//当前页加1pageIndex++;//分页查询PageShowGrade(pageIndex);//更新当前页this.lblPage.Text = pageIndex.ToString();}}

7.上一页按钮;

//上一页private void button1_Click(object sender, EventArgs e){if (pageIndex <=1 ){//默认为第一页pageIndex = 1;MessageBox.Show("现在已经是第一页了");}else{//当前页减1pageIndex--;//分页查询PageShowGrade(pageIndex);//更新当前也this.lblPage.Text = pageIndex.ToString();}}

以上就是全部示例说明,你学会了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.Net Core下通过Proxy 模式 使用 WCF

.NET Core下的WCF客户端也是开源的&#xff0c;这次发布.NET Core 2.0,同时也发布了 WCF for .NET Core 2.0.0, 本文介绍在.NET Core下如何通过Proxy 消费WCF服务。 我们现在直接可以在 standard 2.0下调用wcf服务了&#xff0c;不过 Microsoft WCF Web Service Reference Pro…

JWT 入门

文章目录使用JWT的原因JWT结构JWT入门案例Token拦截使用JWT的原因 为了保护项目之中的数据资源&#xff0c;那么一定就需要采用认证检测机制&#xff0c;于是SpringCloud进行认证处理&#xff0c;就可以使用SpringSecurity 来实现了&#xff0c;但是如果你真的去使用了SpringSe…

当你左右看看没有发现我时,千万千万别往看……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。周五&#xff0c;又是一个考试的周五&#xff0c;因为本周都在做项目&#xff0c;还以为同学们没有好好的备考&#xff0c;估计考的不好&#xff0c;没想到今天测试的结果是自从考试以来最…

2018/7/11-纪中某C组题【jzoj1293,jzoj1294,jzoj1295】

前言 今天C组题目有毒&#xff0c;第一题题目玄学&#xff0c;第二题就是不会&#xff0c;第三题考的贼偏。fw(hjw&#xff0c;his博客&#xff1a;https://blog.csdn.net/gx_man_vip)说今天B组题目还行早知道就去做B组了qwq 今日分数 去掉了十分强大的纪中dalao 正题 T1&…

关系型数据库的分片原则

来自Citus的Ozgun Erdogan分享了进行数据库分片的三个原则&#xff0c;并强调应用类型是决定数据库分片最主要的因素。其中B2B类型的应用最容易进行数据库分片。 在数据库很小的时候&#xff0c;可以很容易地通过添加硬件来扩展数据库。但随着数据表数量的不断增长&#xff0c…

分布式架构--基本思想汇总

转载自 分布式架构&#xff0d;&#xff0d;基本思想汇总 在互联网大行其道的今天&#xff0c;各种分布式系统已经司空见惯。搜索引擎、电商网站、微博、微信、O2O平台。。凡是涉及到大规模用户、高并发访问的&#xff0c;无一不是分布式。 关于分布式系统&#xff0c;并没有…

花了100多去KTV不是唱歌,竟然是……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。老师&#xff0c;歌词可以实现&#xff0c;不过比较麻烦~也还行你这样 准备几首歌的歌词就行到时候只演示这几首歌如果是其他的哥的话&#xff0c;就显示暂无歌词行&#xff0c;有时间就试…

jzoj4272-序章-弗兰德的秘密【树形dp】

正题 大意 两棵树&#xff0c;它们的相似值是它们留下最多的节点使它们的结构相同。求相似值。 这两颗树就是结构相同的&#xff0c;相似值是8。 解题思路 就是树形dp。可以用f[i][j]f[i][j]表示树1的第ii号节点和它的子树与树2的j" role="presentation" s…

从NIO到Netty开发

转载自 从NIO到Netty开发 1. 从传统BIO到NIO的升级 Client/Server模型是网络编程的基本模型&#xff0c;服务端提供位置信息&#xff0c;客户端通过连接操作向服务端发起连接请求&#xff0c;通过三次握手建立连接&#xff0c;如果连接建立成功&#xff0c;双方就可以通过网…

Orleans入门例子

Orleans是微软开源的分布式actor模型框架.actor模型的原理网络上有很多文章.有许多理论性的文章,深刻地我都不知道怎么应用.在这里我就不赘述了.既然是博客,就说说自己的理解。 对于编程来说&#xff0c;不管是前台还是后台&#xff0c;在现在的计算机环境下&#xff0c;多线程…

JavaScript常用单词整理总结

第一章object对象undefined未定义变量boolean布尔类型sort()对数组排序charAt返回在指定位置的字符toLowerCase()把字符串转换为小写button按钮break结束循环toUpperCase()把字符串转换为大写split(str)将字符串分割为字符串数组length获取数组的长度continue结束当前循环&…

JWT 应用

文章目录JWT工具模块Token认证微服务JWT授权监测网关认证过滤消费端获取JWTJWT工具模块 如果要想在项目之中去使用JWT技术&#xff0c;那么就必须结合到已有的模块之中,最佳的做法就是将JWT的相关的处理 操作做为一个自动的starter组件进行接入 1、【microcloud项目】既然要开…

淘宝秒杀系统设计的几个注意点

转载自 淘宝秒杀系统设计的几个注意点 还记得2013年的小米秒杀吗&#xff1f;三款小米手机各11万台开卖&#xff0c;走的都是大秒系统&#xff0c;3分钟后成为双十一第一家也是最快破亿的旗舰店。经过日志统计&#xff0c;前端系统双11峰值有效请求约60w以上的QPS &#xff0…

.NET Core 2.0 开源Office组件 NPOI

前言 去年 12 月&#xff0c;我移植了大家所熟知 NPOI 到 .NET Core 版本&#xff0c;这里是当时发的博客&#xff0c;当时得到了很多同学的支持&#xff0c;社区反应也很好&#xff0c;在这里非常感谢当时推荐的朋友们。 去年的那个版本是针对于 .NET Core 1.0 的&#xff0…

老师们一直在……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。【随便写写】为了了解同学们在公司的情况&#xff0c;和佟老师上了的做了个在线问卷调查&#xff0c;把一些常见的问题设置在调查中&#xff0c;根据调查数据&#xff0c;然后挨个的去解决…

海量数据的分库分表技术演进,最佳实践

转载自 海量数据的分库分表技术演进&#xff0c;最佳实践 每个优秀的程序员和架构师都应该掌握分库分表&#xff0c;移动互联网时代&#xff0c;海量的用户每天产生海量的数量 用户表订单表交易流水表 以支付宝用户为例&#xff0c;8亿&#xff1b;微信用户更是10亿。订单表…

Orleans例子再进一步

步骤 现在我想再添加一个方法,到IGrains项目内,这个方法里面有个延迟3秒,然后返回一个Task<string>.就叫做DelayedMsg吧,如下图所示: 我调用了这个DelayedMsg,同时又调用了SayHello函数,看看效果:注意这个DelayedMsg的调用方法没有await. 虽然我的SayHello的调用时间紧随…

2018/7/12-纪中某C组题【jzoj4272,jzoj4273,jzoj4274】

前言 今天我的想法都是正解&#xff0c;也都写了&#xff0c;结果才160QwQ 今日分数 去掉了十分强大的纪中dalao 正题 T1&#xff1a;jzoj4272-序章-弗兰德的秘密【树形dp】 博客链接&#xff1a;https://blog.csdn.net/mr_wuyongcong/article/details/81021994 T2&#xf…

你,下周可否“报上有名”?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。一周一次周测&#xff0c;一直在延续&#xff0c;一般情况下不会间断。以前我只要一说&#xff0c;同学们&#xff0c;咱们本周周五考试&#xff0c;下面的同学们就沸腾的不行了&#xff0c;有的说…

Redis的3个高级数据结构

转载自 Redis的3个高级数据结构 平常接触最多的是5个入门级数据结构&#xff1a;String&#xff0c;Hash&#xff0c;List&#xff0c;Set&#xff0c;Sorted Set&#xff0c;本文介绍3个高级数据结构&#xff1a;Bitmaps&#xff0c;Hyperloglogs&#xff0c;GEO。 Bitmap…