这是分页控件最后一篇
源码在github上:https://github.com/tanshanli/Z13QU
更多源码解读可以加Q群:276435339
* 很多时候,你缺少的不是源码,
* 而是作者对源码的用心讲解。
* 来Z13区,或许还没有你想要的,但给你的,都是能让你掌握的。
控件截图:
注释:黑色部门不是分页控件界面,每个红框代表一个控件。
实现功能:
上一页,下一页,首页,尾页。GO跳转到指定页
点击 【...】这个控件,会将【1】【2】【3】的值变为【4】【5】【6】以此类推。
使用方法:
1.拖动控件到窗体上
2.代码如下
private void Form1_Load(object sender, EventArgs e) { pageX1.RecordCount = 1245; pageX1.PageSize = 25; pageX1.SetHeaderInfo(); pageX1.refreshDelegate += new Z13QU.PageX.RefreshDELETEGATE(Refreshdata); } public void Refreshdata(int currentPage, int pageSize) { //根据【当前页】currentPage和【每页显示行数】pageSize //来查询数据库,然后将数据显示在datagridview或者listview等控件上 }
源码解读:
变量: //总记录数量 private int _recordCount; //当前页 private int _currentPage; //每页显示记录数量 private int _pageSize; //总页数量 private int _pageCount; //特定页面1 private int pageOne = 1; //特定页面2 private int pageTwo = 2; //特定页面3 private int pageThree = 3; //特定页面 就是控件上的 1,2,,3 它们的值是可变的。 //头部显示信息,每天点击按钮,都需要刷新一次 string hreaderInfo = "第{0}/{1}页,每页{2}条,共{3}条";
因为我们分页控件中没有包括显示数据的控件【datagridview,listview等】,所以我们分页控件每次点击后的【当前页】应该让外面知道。
所以这里需要定义一个委托:【委托有不懂的,可以加Q群私聊我】
public delegate void RefreshDELETEGATE(int currentPage, int pageSize); public RefreshDELETEGATE refreshDelegate;
作用:将分页控件的 【当前页】【每页条数】传递给外面去。然后外面可以通过这两个参数来查询数据库了。
其余方法,都是点击按钮,然后更新对应的值。详见源码即可。
如还有不懂,也可以私聊我。