• c#--dataGridView的分页显示


    dataGridView是常用的表格控件,实现分页的方式也有很多种,例如直接使用sql语言,配合存储方式,直接读取某一页的内容,大家如果有兴趣的话,下次整理出来与大家分享,本次,采用另一种方式,即控制表格在接收所有数据后,不再使用滚轮展示,而是通过控制定位行来实现。
    使用该方法需要注意的是,大数据量还是不建议使用,因为大数据量会导致表格UI卡顿,还是采用sql查询的方式较为可靠。
    下面就简单的使用控件分页的方式与大家分享。

    1.让垂直滚动条消失

    dataGridView1.ScrollBars =ScrollBars.None;
    
    • 1

    2.确定每页显示多少行

    如果表格是固定大小,此步骤可省略,直接用行数进行下面的操作即可,此方法针对表格大小可调整自适应的时候,通过计算获取能显示的最大行。

    int rowCount;//每一页多少行
    int maxCount;//所有页数
    private void uc_table_Resize(object sender, EventArgs e)
    {
        this.Invalidate();
        rowCount = (dataGridView1.Height - dataGridView1.ColumnHeadersHeight) / dataGridView1.RowTemplate.Height;
        maxCount = (int)Math.Ceiling(dataGridView1.Rows.Count / rowCount * 1.0);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    以上方法是针对表格内容还没有添加,如果表格已经有内容,是无法通过模板(RowTemplate)修改高度的。
    那可以使用:
    (1)ColumnHeadersHeaderSize属性设为 EnableResizing
    (2)ColumnHeadersHeader 的值改为 需要的高度
    (3)RowTemplate属性下的Height,把值也设置为 需要的高度

    3.控制表格定位
    使用FirstDisplayedScrollingRowIndex属性调整显示内容。

    dataGridView1.FirstDisplayedScrollingRowIndex = 0;//定位到第一页
    dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.Count- rowCount;//定位到最后一页
    
    • 1
    • 2

    例如:
    在这里插入图片描述
    以上就是简单利用dataGridView的分页显示,总结来说就是计算每一页显示多少行,计算dataGridView每次定位到哪里。

  • 相关阅读:
    中华人民共和国消费者权益保护法
    通过bat命令启动jar后缀软件
    基于反馈技术的宽带低噪声放大器的设计
    【DevOps】Git 图文详解(二):Git 安装及配置
    leetcode:1967. 作为子字符串出现在单词中的字符串数目(python3解法)
    Elasticsearch7 单节点与集群部署
    公平锁与非公平锁的核心原理
    Day657.思考题解答⑤ -Java业务开发常见错误
    es6升级到7后报错illegal_argument_exception
    Docker Swarm: 容器编排的力量和优势深度解析
  • 原文地址:https://blog.csdn.net/Yyuanyuxin/article/details/127445316