【2】自定义WindowsForm分页控件使用【共两篇】

这是分页控件最后一篇

源码在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;

作用:将分页控件的 【当前页】【每页条数】传递给外面去。然后外面可以通过这两个参数来查询数据库了。

其余方法,都是点击按钮,然后更新对应的值。详见源码即可。

如还有不懂,也可以私聊我。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章