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();
            }
        }
以上就是全部示例说明,你学会了吗?

目录
相关文章
|
3月前
|
前端开发 JavaScript 数据库
分页,快捷链接表单,分页表单,常用软件开发之分页,快捷链接分页表单添加显示,可以做的分页统计,一个简单的添加页面,数据条理清晰呈现如何设计,如何修改成自己想要的,要会编写接口文档,一边写接口
分页,快捷链接表单,分页表单,常用软件开发之分页,快捷链接分页表单添加显示,可以做的分页统计,一个简单的添加页面,数据条理清晰呈现如何设计,如何修改成自己想要的,要会编写接口文档,一边写接口
|
11月前
|
前端开发 Java UED
通用分页【上】之前端代码
通用分页【上】之前端代码
30 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用1
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用1
39 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用2
前端学习笔记202305学习笔记第二十二天-分页组件封装和复用2
37 0
|
前端开发
前端teble分页组件开发(手写组件)
这段时间,在开发过程中接到一个需求,当时接到这个需求的时候,本来想着是找一找ui组件啥的来,但是后面找了一圈后,没有找到符合的,没办法,只能自己花点时间写一下了
151 0
|
JavaScript 编译器 API
WebApi入门第七章(dom增删改页面元素)
WebApi入门第七章(dom增删改页面元素)
95 0
WebApi入门第七章(dom增删改页面元素)
|
JavaScript 前端开发
WebApi入门第二章(获取操作页面元素)
WebApi入门第二章(获取操作页面元素)
115 0
WebApi入门第二章(获取操作页面元素)
WinForm操作隐藏的小知识点
WinForm操作隐藏的小知识点
190 0
WinForm操作隐藏的小知识点
|
前端开发 JavaScript Java
java实现Ztree的增删改查(包含后台代码)
前端页面、js代码以及配置项、后台代码。
300 0