這是分頁控件最後一篇
源碼在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;
作用:將分頁控件的 【當前頁】【每頁條數】傳遞給外面去。然後外面可以通過這兩個參數來查詢數據庫了。
其餘方法,都是點擊按鈕,然後更新對應的值。詳見源碼即可。
如還有不懂,也可以私聊我。