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

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


最近,四班在做KTV点歌系统,正好需要用到分页的内容,所以今天我就整理整理,写了一个简易的winfrom分页案例,以下是案例截图:

案例分析:窗体加载时,默认显示第一页的内容,当单击“下一页”的按钮时,上面的内容就会换成第二页的内容,点击“上一页”按钮,上面所展示的内容就会换成第一页的内容,所有显示的内容均从数据库中查询显示。

上一页和下一页按钮中间显示的当前页和总页数,在翻页的同时,当前页也会随之变化。

下面说一下实现思路(集合分页):

下面是关键代码:

1.声明的公共变量:

/所有的数据
        List gList = new List();
        //当前页
        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 {
                //当前页加1
                pageIndex++;
                //分页查询
                PageShowGrade(pageIndex);
                //更新当前页
                this.lblPage.Text = pageIndex.ToString();
            }
           
        }
7.上一页按钮;

//上一页
        private void button1_Click(object sender, EventArgs e)
        {
           
            if (pageIndex <=1 )
            {
                //默认为第一页
                pageIndex = 1;
                MessageBox.Show("现在已经是第一页了");
            }
            else
            {
                //当前页减1
                pageIndex--;
                //分页查询
                PageShowGrade(pageIndex);
                //更新当前也
                this.lblPage.Text = pageIndex.ToString();
            }
        }
以上就是全部示例说明,你学会了吗?

目录
相关文章
|
4月前
|
前端开发 JavaScript 数据库
分页,快捷链接表单,分页表单,常用软件开发之分页,快捷链接分页表单添加显示,可以做的分页统计,一个简单的添加页面,数据条理清晰呈现如何设计,如何修改成自己想要的,要会编写接口文档,一边写接口
分页,快捷链接表单,分页表单,常用软件开发之分页,快捷链接分页表单添加显示,可以做的分页统计,一个简单的添加页面,数据条理清晰呈现如何设计,如何修改成自己想要的,要会编写接口文档,一边写接口
|
6月前
|
前端开发 JavaScript
vue实现通用分页控件,支持前端分页、后端分页。
vue实现通用分页控件,支持前端分页、后端分页。
90 1
|
6月前
|
前端开发
若依框架---分页功能
若依框架---分页功能
476 0
|
前端开发 Java UED
通用分页【上】之前端代码
通用分页【上】之前端代码
36 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用2
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用2
39 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用1
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用1
41 0
|
前端开发
前端teble分页组件开发(手写组件)
这段时间,在开发过程中接到一个需求,当时接到这个需求的时候,本来想着是找一找ui组件啥的来,但是后面找了一圈后,没有找到符合的,没办法,只能自己花点时间写一下了
165 0
|
JavaScript 前端开发
十二、面向对象实战之封装拖拽对象【上】
前面几篇文章,我跟大家分享了JavaScript的一些基础知识,这篇文章,将会进入第一个实战环节:利用前面几章的所涉及到的知识,封装一个拖拽对象。为了能够帮助大家了解更多的方式与进行对比,我会使用三种不同的方式来实现拖拽。 •不封装对象直接实现; •利用原生JavaScript封装拖拽对象; •通过扩展jQuery来实现拖拽对象。 本文的例子会放置于codepen.io[1]中,供大家在阅读时直接查看。如果对于codepen不了解的同学,可以花点时间稍微了解一下。
136 0
十二、面向对象实战之封装拖拽对象【上】
|
JavaScript 前端开发
十二、面向对象实战之封装拖拽对象【下】
前面几篇文章,我跟大家分享了JavaScript的一些基础知识,这篇文章,将会进入第一个实战环节:利用前面几章的所涉及到的知识,封装一个拖拽对象。为了能够帮助大家了解更多的方式与进行对比,我会使用三种不同的方式来实现拖拽。 •不封装对象直接实现; •利用原生JavaScript封装拖拽对象; •通过扩展jQuery来实现拖拽对象。 本文的例子会放置于codepen.io[1]中,供大家在阅读时直接查看。如果对于codepen不了解的同学,可以花点时间稍微了解一下。
215 0