C# 动态 条件 组合_C# Win Form 记录集分页显示的实现

Win Form进行信息化系统开发时需要查询后台数据库,并将后台数据库查询结果显示到前端界面中。当查询结果记录集条数较多时一般采用分页显示,目前再使用不同程序语言进行信息系统开发时都可直接调用各类程序自带或者第三方组件实现分页显示功能。本文主要针对培训需求自己编写分页显示功能。首先给出分页显示最终实现效果,效果如下图所示:

2a4a56ee57c94008a119ecee4ec3e05e

分页显示功能实现效果


分页显示效果如上图所示,该练习中通过下拉列表菜单确定查询筛选的条件,并按照筛选条件进行筛选,将符合条件的数据存储到内存datatable中并动态写入DataGridView,查询结果多与10条记录时,DataGridView只允许显示10条记录。用户可通过控件下部按钮进行不同页之间的切换。设计及编码思路描述如下:

1、查询结果存储到DataSet ds中并写入DataGridView

在完成数据查询之后需要将数据写入ds并从ds中读取前10条记录到datavridview控件中。通过计数变量控制写入10条记录。并使用变量page保存当前页数(后期通过页数进行不同类型跳转)

1024cb8d862041df8a89bf7716a43121

写入首页10条记录

2、下一页按钮功能实现

点击下一页时首先需要判断当前页page与总页数allpage之间关系,如果相等则表明当前已经最后一页,通过MessageBox给出用户操作提示并结束事件。

dc8d166be4c940b3a76b1992c82f49b2

判断是否最后页面

如果不是最后一页,则通过当前页去计算点击之后需要查询的记录的起始位置,通过起始位置确定所需读取的记录集,这个过程需要考虑在非最后页,每页显示10条记录,比较好计算,当点击之后是最后一页的话,记录结束的位置就是最后一条记录位置。因此需要根据实际情况判断开始结束位置。

2e1548d34b1a4f0cbd2ae62ed9aa1657

计算开始结束位置

计算开始结束位置代码如上,在计算结束时,采用三目运算符对结束是否是最后一页进行判断,不是最后一页则结束位置为开始位置开始位置加9,如果最后一页结束位置为记录集条数。在明确开始结束位置后,则可对ds按照条件进行读取,并将读取结果显示DataGridView中。实现代码如下:

c4aeec0f306f4e54959420745916d7f5

下一页读取显示数据代码

3、其余按钮功能实现

由于篇幅限制,其余按钮功能实现不再详细说明,简单讲就是需要对写入DataGridView中记录开始位置与结束位置进行判断,在遍历ds记录集时按照结束与开始位置进行筛选,符合条件的写入DataGridView中。另外需要对一些特殊情况结合总页数allpage与当前页page进行判断 ,如当前第一页时,用户点击上一页,当前最后一页时用户点击下一页。完整功能实现gif动图如下:

666b1e5244ca417a842514b13beb6b77

实现效果gif图


本头条号长期关注于青少年编程资讯分享;编程课程、素材、代码分享及青少年编程培训。如果您对以上方面有兴趣,可关注该头条号,如有编程学习问题可以联系作者,共同探讨。

往期内容分享如下:

  1. Win Form登录框本地记住密码功能实现
  2. C# Win Form 编程实现图片的数据库存储
  3. C# Win Form 实现XML文件读写
  4. C# Win Form 读取CSV文件数据
  5. C# Win Form 动态添加CheckBox控件
  6. C# Win Form 窗体间传递参数的几种方法总结
  7. C# win Form开发 构造指定格式数据表字段值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值