winform控件 datagridview分页功能

news2024/9/25 16:31:52

主要实现页面跳转、动态改变每页显示行数、返回首末页、上下页功能,效果图如下:

主代码如下:

namespace Paging
{
 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private int currentPageCount;//记录当前页行数
 
        private int pageCount;//记录总页数
 
        private int currentCount;//记录当前页数
 
        private void Form1_Load(object sender, EventArgs e)
        {
            currentPageCount = Convert.ToInt32(txt_lines.Text);
            string sql = "select*from StudentInfo";
            DataSet ds = ConnectClass.ReturnDataSet(sql);
            Paging(ds);
            
        }
 
        private void Paging(DataSet ds)
        {
            int pageLine = 0;
            int count = ds.Tables[0].Rows.Count;//总行数
            lb_recordNum.Text = count.ToString();
            pageCount = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(count) / currentPageCount));
            if (count > currentPageCount)
                pageLine = currentPageCount;
            else
                pageLine = count;
            this.currentCount = 1;
            Binds();
        }
 
        private void btn_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            string tag = btn.Tag.ToString();//获取首页、上一页、下一页、末页的tag属性值
            switch (tag)
            {
                case "0"://首页
                    this.currentCount = 1;
                    break;
                case "1"://上一页
                    this.currentCount -= 1;
                    break;
                case "2"://下一页
                    this.currentCount += 1;
                    break;
                case "3"://末页
                    this.currentCount = this.pageCount;
                    break;
            }
            Binds();
        }
 
        private void Binds()
        {
            string sql = string.Empty;
            if (this.currentCount.Equals(0))
            {
                currentCount = 1;
                MessageBox.Show("当前已是首页");
            }
            else if (this.currentCount.Equals(pageCount + 1))
            {
                this.currentCount = this.pageCount;
                MessageBox.Show("当前已是末页");
            }
            else if (this.currentCount > 0 && this.currentCount < pageCount + 1)
            {
                sql = ConnectClass.ReturnSelectSql(currentPageCount, (currentCount - 1) * currentPageCount);
                DataSet ds = ConnectClass.ReturnDataSet(sql);
                this.dataGridView1.DataSource = ds.Tables[0];
                lb_page.Text = this.currentCount + " / " + pageCount;
            }
        }
        //跳转页面
        private void btn_jump_Click(object sender, EventArgs e)
        {
            if (txt_page.Text == "")
                return;
            this.currentCount = Convert.ToInt32(txt_page.Text);
            if (this.currentCount > 0 && this.currentCount < pageCount + 1)
                Binds();
        }
        //设置每行页数
        private void txt_lines_Leave(object sender, EventArgs e)
        {
            Form1_Load(sender, e);
        }
 
    }
}

ConnectClass类文件代码如下:

namespace Paging
{
    class ConnectClass
    {
        private static string sqlCon = "Data source=.;Initial Catalog=StudentInfo;Integrated Security=True;";
        private static SqlConnection conn = new SqlConnection(sqlCon);
 
        public static DataSet ReturnDataSet(string sql)
        {
            conn.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
            sda.Fill(ds, "objDataSet");
            conn.Close();
            return ds;
        }
 
        public static string ReturnSelectSql(int count,int totalCount)
        {
            string sql = "select top " + count + " * from StudentInfo where id not in (select top " + totalCount + " id from StudentInfo) ";
            return sql;
        }
    }
}

转载:c#winform控件datagridview实现分页效果_Jakie_Zhan的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/854016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ApplicationContext在Spring Boot中是如何创建的?

一、ApplicationContext在Spring Boot中是如何创建的&#xff1f; 1. SpringApplication ApplicationContextFactory有三个实现类&#xff0c;分别是AnnotationConfigReactiveWebServerApplicationContext.Factory、AnnotationConfigServletWebServerApplicationContext.Facto…

nginx动态加载配置文件的方法

1. main函数调用ngx_get_options函数 2. ngx_get_options(int argc, char *const *argv)中会解析用户输入命令。 case ‘s’: if (*p) { ngx_signal (char *) p; } else if (argv[i]) {ngx_signal argv[i];} else {ngx_log_stderr(0, "option \"-s\" requi…

将数组按照某个对象分类,结果值的json的值按照value递增排序

const arr [ { value: 532, lable: 1, type: “a” }, { value: 132, lable: 24, type: “b” }, { value: 432, lable: 13, type: “b” }, { value: 1812, lable: 5, type: “b” }, { value: 1932, lable: 8, type: “c” }, { value: 132, lable: 4, type: “a” }, { val…

CNN经典网络模型之GoogleNet论文解读

目录 1. GoogleNet 1.1 Inception模块 1.1.1 1x1卷积 1.2 辅助分类器结构 1.3 GoogleNet网络结构图 1. GoogleNet GoogleNet&#xff0c;也被称为Inception-v1&#xff0c;是由Google团队在2014年提出的一种深度卷积神经网络架构&#xff0c;专门用于图像分类和特征提取任…

一个竖杠在python中代表什么,python中一竖代表什么

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;一个竖杠在python中代表什么&#xff0c;python中一竖代表什么&#xff0c;今天让我们一起来看看吧&#xff01; 维基百科页面是错误的&#xff0c;我已经更正了。|和&不是布尔运算符&#xff0c;即使它们是急切运算…

Intune 应用程序管理

由于云服务提供了增强的安全性、稳定性和灵活性&#xff0c;越来越多的组织正在采用基于云的解决方案来满足他们的需求。这正是提出Microsoft Endpoint Manager等解决方案的原因&#xff0c;它结合了SCCM和Microsoft Intune&#xff0c;以满足本地和基于云的端点管理。 与 Int…

uni——月份选择(横向滑动tab,横向滚动选择日期)

案例展示 案例代码 已封装成组件使用 <template><view><view class"tabBox"><scroll-view scroll-x"true" :scroll-left"scrollLeft" :scroll-with-animation"true"><view class"box"><…

AtcoderABC313场

A - To Be SaikyoA - To Be Saikyo 题目大意 有N个人&#xff0c;编号从1到N。每个人有一个整数分数&#xff0c;称为编程能力&#xff1b;第i个人的编程能力是Pi分。人1需要多少分才能成为最强者&#xff1f;换句话说&#xff0c;最小非负整数x是多少&#xff0c;使得对于所有…

10万SUV大魔王?市场再添新成员,北汽新魔方正式上市,鸿蒙加持

根据报道&#xff0c;北京汽车宣布新一款名为新魔方的车型已经在位于北京汽车株洲基地的超级工厂开始大规模生产。这款车型是继北京新EU5 PLUS之后的又一重要产品&#xff0c;被认为将对10万级SUV市场带来颠覆性影响。 据报道&#xff0c;北汽魔方是首款搭载鸿蒙HarmonyOS智能操…

【UE4 RTS】05-Fixing Camera Movement

前言 本篇实现了两个功能&#xff1a;一是解决CameraPawn旋转后&#xff0c;前进方向没变的问题&#xff1b;二是玩家可选择提高CameraPawn的移动速度 效果 一、解决CameraPawn旋转后&#xff0c;前进方向没变的问题 二、玩家可提高CameraPawn移动速度 步骤 一、解决Camera…

IDEA离线安装插件

一、背景 有时&#xff0c;在ideal中我们无法获取到插件&#xff0c;可能是因为内网或者无法访问插件库等原因&#xff0c;此时我们需要离线安装插件 IDEA离线仓库&#xff1a;https://plugins.jetbrains.com/ 二、步骤 2.1 下载插件&#xff1a;https://plugins.jetbrains.…

20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕(DOCX)

20230809在WIN10下使用python3处理Google翻译获取的SRT格式字幕&#xff08;DOCX&#xff09; 2023/8/9 19:02 由于喜欢看纪录片等外文视频&#xff0c;通过剪映/PR2023/AUTOSUB识别字幕之后&#xff0c;可以通过google翻译识别为简体中文的DOCX文档。 DOCX文档转换为TXT文档之…

收藏!新增6省!2023年度杰青、优青名单汇总(附下载)

2023省级自然科学基金项目名单 杰青、优青项目是国家及各省市为促进青年科学和技术人才的成长&#xff0c;加速培养造就一批进入世界科技前沿的优秀学术带头人而特别设立的科学基金&#xff0c;是各个科研单位竞相争夺的青年科技人才。 按照惯例&#xff0c;2023年国家自然基…

百度资深PMO阚洁受邀为第十二届中国PMO大会演讲嘉宾

百度在线网络技术&#xff08;北京&#xff09;有限公司资深PMO阚洁女士受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;运筹于股掌之间&#xff0c;决胜于千里之外 —— 360斡旋项目干系人。大会将于8月12-13日在北京举办&#xff0c;…

Java基础(八)二维数组

数组 二、二维数组 1. 二维数组使用步骤 定义二维数组 格式&#xff1a;数据类型 数组名[][]; 或 数据类型[][] 数组名; int scores[][]; int[][] scores;为二维数组元素分配内存 格式&#xff1a;数据类型 数组名[][]; 或 数据类型[][] 数组名; int scores[][]; scores …

MinGW-w64的安装详细步骤(c/c++的编译器gcc、g++的windows版,win10、win11真实可用)

文章目录 1、MinGW的定义2、MinGW的主要组件3、MinGW-w64下载与安装3.1、下载解压安装地址3.2、MinGW-w64环境变量的设置 4、验证MinGW是否安装成功5、编写一段简单的代码验证下6、总结 1、MinGW的定义 MinGW&#xff08;Minimalist GNU for Windows&#xff09; 是一个用于 W…

无菌车间ar实景巡检为企业带来了诸多好处

随着科技的不断发展&#xff0c;AR增强现实技术逐渐渗透到各个行业&#xff0c;为生产制造带来了前所未有的便捷。特别是在制造业中&#xff0c;AR增强现实技术的应用正逐步改变着传统的生产模式&#xff0c;为企业带来了诸多优势。 传统的巡视方式往往需要人工实地查看设备&am…

多进程利用TCP进行信息群发功能

/服务器的代码 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #define SEVER_IP &quo…

抖音商品上架有攻略:详细介绍步骤与注意事项

抖音是一款非常流行的短视频分享平台&#xff0c;也是一个非常适合进行商品销售的平台。上架商品是在抖音上进行电商销售的重要一环&#xff0c;下面不若与众将介绍抖音商品的上架流程和注意事项。 1. 注册账号和认证&#xff1a;首先&#xff0c;你需要在抖音平台上注册一个账…

同步辐射散射数据处理分析方法及实验过程

同步辐射散射数据处理分析方法及过程 同步辐射散射测试是一种先进的材料表征技术&#xff0c;已广泛应用于材料科学、生物学、化学等领域。同步辐射散射技术利用同步辐射光源产生的高亮度辐射&#xff0c;通过散射实验来研究样品的结构、形态和动态行为。 同步辐射散射处理分析…