• 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每次定位到哪里。

  • 相关阅读:
    webpack原理篇(五十八):实战开发一个简易的webpack
    React环境初始化
    JAVA实训第一天
    DM8:-7082:外部表数据错误
    学习记忆——宫殿篇——记忆宫殿——记忆桩——单间+客厅+厨房+厕所+书房+院子
    SQL编程 Task05.SQL高级处理
    CentOS发生ping百度失败以及连接不到网关的问题解决
    Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)
    BMS系统项目
    echarts中,X轴名称过长隐藏,鼠标hove显示全称
  • 原文地址:https://blog.csdn.net/Yyuanyuxin/article/details/127445316