日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

winform分页案例简单实现方式~

發布時間:2023/12/3 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 winform分页案例简单实现方式~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是雄雄,歡迎關注微信公眾號:雄雄的小課堂。

最近,四班在做KTV點歌系統,正好需要用到分頁的內容,所以今天我就整理整理,寫了一個簡易的winfrom分頁案例,以下是案例截圖:

案例分析:窗體加載時,默認顯示第一頁的內容,當單擊“下一頁”的按鈕時,上面的內容就會換成第二頁的內容,點擊“上一頁”按鈕,上面所展示的內容就會換成第一頁的內容,所有顯示的內容均從數據庫中查詢顯示。

上一頁和下一頁按鈕中間顯示的當前頁和總頁數,在翻頁的同時,當前頁也會隨之變化。

下面說一下實現思路(集合分頁):

  • 清空所有的label控件。

  • 從數據庫中查詢所有數據,放在集合中。

  • 循環遍歷集合中的數據,顯示在label控件中。

  • 通過公式(pageIndex-1)*pageSize來實現分頁顯示,其中pageIndex為當前頁,pageSize為頁大小。

  • 總頁數的計算方式:

    獲取集合中的數據的長度,也就是總記錄數,與頁大小(每頁顯示的條數)計算出總頁數:

    總數量除以頁大小,如果余數為0,則商即總頁數,否則在商的基礎上加1為總頁數。

  • 下面是關鍵代碼:

    1.聲明的公共變量:

    /所有的數據List<string> gList = new?List<string>();//當前頁int?pageIndex = 1;//總頁數int?totalPage = 0;//頁大小int?pageSize = 4;? ? ? ? ? DBHelper db = new DBHelper();

    2.窗體的加載事件:

    private?void?frmPage_Load(object?sender, EventArgs e){//清空控件內容ClearLabel();//查詢所有數據FindGradeAll();//總頁數等于集合中的所有數據與頁大小之間的計算totalPage = gList.Count % pageSize == 0?? gList.Count / pageSize : gList.Count / pageSize + 1;//總頁數this.lblTotalPage.Text = totalPage.ToString();//當前頁this.lblPage.Text = pageIndex.ToString();//分頁查詢,默認顯示第一頁的內容PageShowGrade(1);}

    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.上一頁按鈕;

    //上一頁private?void?button1_Click(object?sender, EventArgs e){if?(pageIndex <=1?){//默認為第一頁pageIndex = 1;MessageBox.Show("現在已經是第一頁了");}else{//當前頁減1pageIndex--;//分頁查詢PageShowGrade(pageIndex);//更新當前也this.lblPage.Text = pageIndex.ToString();}}

    以上就是全部示例說明,你學會了嗎?

    總結

    以上是生活随笔為你收集整理的winform分页案例简单实现方式~的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。