winform分页案例简单实现方式~
生活随笔
收集整理的這篇文章主要介紹了
winform分页案例简单实现方式~
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家好,我是雄雄,歡迎關注微信公眾號:雄雄的小課堂。
最近,四班在做KTV點歌系統,正好需要用到分頁的內容,所以今天我就整理整理,寫了一個簡易的winfrom分頁案例,以下是案例截圖:
案例分析:窗體加載時,默認顯示第一頁的內容,當單擊“下一頁”的按鈕時,上面的內容就會換成第二頁的內容,點擊“上一頁”按鈕,上面所展示的內容就會換成第一頁的內容,所有顯示的內容均從數據庫中查詢顯示。
上一頁和下一頁按鈕中間顯示的當前頁和總頁數,在翻頁的同時,當前頁也會隨之變化。
下面說一下實現思路(集合分頁):
清空所有的label控件。
從數據庫中查詢所有數據,放在集合中。
循環遍歷集合中的數據,顯示在label控件中。
通過公式(pageIndex-1)*pageSize來實現分頁顯示,其中pageIndex為當前頁,pageSize為頁大小。
總頁數的計算方式:
獲取集合中的數據的長度,也就是總記錄數,與頁大小(每頁顯示的條數)計算出總頁數:
總數量除以頁大小,如果余數為0,則商即總頁數,否則在商的基礎上加1為總頁數。
下面是關鍵代碼:
1.聲明的公共變量:
2.窗體的加載事件:
3.查詢所有的年級名稱放在label中
//查詢所有的年級名稱放在集合中public?void?FindGradeAll()?{string?sql = "select * from grade";SqlDataReader dr = db.ExecuteReader(sql);while?(dr.Read()){gList.Add(dr["gname"].ToString());}dr.Close();}4.清空Label中的所有內容
//清空Label中的所有內容public?void?ClearLabel()?{ //獲取panel中有多少個控件int?count = this.panel1.Controls.Count;//清空for?(int?i = 0; i < count;i++ ) {Label lbl = (Label)this.panel1.Controls[i];lbl.Text = "暫無數據";}}5.分頁顯示數據
//分頁顯示數據public?void?PageShowGrade(int?pageIndex)?{for?(int?i = 0; i < this.panel1.Controls.Count;i++ ) {Label lbl = (Label)this.panel1.Controls[i];int?v = (pageIndex - 1) * pageSize + i;lbl.Text = gList[v];}}6.下一頁按鈕
//下一頁private?void?button2_Click(object?sender, EventArgs e){//當前是最后一頁if?(pageIndex == totalPage){MessageBox.Show("現在已經是最后一頁了");}else?{//當前頁加1pageIndex++;//分頁查詢PageShowGrade(pageIndex);//更新當前頁this.lblPage.Text = pageIndex.ToString();}}7.上一頁按鈕;
以上就是全部示例說明,你學會了嗎?
總結
以上是生活随笔為你收集整理的winform分页案例简单实现方式~的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CallRail为您确定了投资回报率最高
- 下一篇: 高刷新率电脑配置?