Win Form进行信息化系统开发时需要查询后台数据库,并将后台数据库查询结果显示到前端界面中。当查询结果记录集条数较多时一般采用分页显示,目前再使用不同程序语言进行信息系统开发时都可直接调用各类程序自带或者第三方组件实现分页显示功能。本文主要针对培训需求自己编写分页显示功能。首先给出分页显示最终实现效果,效果如下图所示:
分页显示效果如上图所示,该练习中通过下拉列表菜单确定查询筛选的条件,并按照筛选条件进行筛选,将符合条件的数据存储到内存datatable中并动态写入DataGridView,查询结果多与10条记录时,DataGridView只允许显示10条记录。用户可通过控件下部按钮进行不同页之间的切换。设计及编码思路描述如下:
1、查询结果存储到DataSet ds中并写入DataGridView
在完成数据查询之后需要将数据写入ds并从ds中读取前10条记录到datavridview控件中。通过计数变量控制写入10条记录。并使用变量page保存当前页数(后期通过页数进行不同类型跳转)
2、下一页按钮功能实现
点击下一页时首先需要判断当前页page与总页数allpage之间关系,如果相等则表明当前已经最后一页,通过MessageBox给出用户操作提示并结束事件。
如果不是最后一页,则通过当前页去计算点击之后需要查询的记录的起始位置,通过起始位置确定所需读取的记录集,这个过程需要考虑在非最后页,每页显示10条记录,比较好计算,当点击之后是最后一页的话,记录结束的位置就是最后一条记录位置。因此需要根据实际情况判断开始结束位置。
计算开始结束位置代码如上,在计算结束时,采用三目运算符对结束是否是最后一页进行判断,不是最后一页则结束位置为开始位置开始位置加9,如果最后一页结束位置为记录集条数。在明确开始结束位置后,则可对ds按照条件进行读取,并将读取结果显示DataGridView中。实现代码如下:
3、其余按钮功能实现
由于篇幅限制,其余按钮功能实现不再详细说明,简单讲就是需要对写入DataGridView中记录开始位置与结束位置进行判断,在遍历ds记录集时按照结束与开始位置进行筛选,符合条件的写入DataGridView中。另外需要对一些特殊情况结合总页数allpage与当前页page进行判断 ,如当前第一页时,用户点击上一页,当前最后一页时用户点击下一页。完整功能实现gif动图如下:
本头条号长期关注于青少年编程资讯分享;编程课程、素材、代码分享及青少年编程培训。如果您对以上方面有兴趣,可关注该头条号,如有编程学习问题可以联系作者,共同探讨。
往期内容分享如下:
本文暂时没有评论,来添加一个吧(●'◡'●)