【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;

作用:將分頁控件的 【當前頁】【每頁條數】傳遞給外面去。然後外面可以通過這兩個參數來查詢數據庫了。

其餘方法,都是點擊按鈕,然後更新對應的值。詳見源碼即可。

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

 

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