软件编程
位置:首页>> 软件编程>> C#编程>> c#常用表格控件dataGridView的分页显示

c#常用表格控件dataGridView的分页显示

作者:Yyuanyuxin  发布时间:2022-08-05 13:55:20 

标签:c#,datagridview,分页

前言

dataGridView是常用的表格控件,实现分页的方式也有很多种,例如直接使用sql语言,配合存储方式,直接读取某一页的内容,大家如果有兴趣的话,下次整理出来与大家分享,本次,采用另一种方式,即控制表格在接收所有数据后,不再使用滚轮展示,而是通过控制定位行来实现。

使用该方法需要注意的是,大数据量还是不建议使用,因为大数据量会导致表格UI卡顿,还是采用sql查询的方式较为可靠。

下面就简单的使用控件分页的方式与大家分享。

1.让垂直滚动条消失

dataGridView1.ScrollBars =ScrollBars.None;

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);
}

以上方法是针对表格内容还没有添加,如果表格已经有内容,是无法通过模板(RowTemplate)修改高度的。

那可以使用:

(1)ColumnHeadersHeaderSize属性设为 EnableResizing

(2)ColumnHeadersHeader 的值改为 需要的高度

(3)RowTemplate属性下的Height,把值也设置为 需要的高度

3.控制表格定位

使用FirstDisplayedScrollingRowIndex属性调整显示内容。

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

例如:

c#常用表格控件dataGridView的分页显示

来源:https://blog.csdn.net/Yyuanyuxin/article/details/127445316

0
投稿

猜你喜欢

  • 本文实例为大家分享了C#实现QQ聊天窗口的具体代码,供大家参考,具体内容如下效果图:using System;using System.Co
  • spring容器是负责实例化、配置、组装组件的容器。容器的配置有很多,常用的是xml、Java注解和Java代码。在spring中Ioc容器
  • 本文实例为大家分享了Java实现猜数字游戏的具体代码,供大家参考,具体内容如下完成猜数字游戏需要实现以下几点:获得一个随机数作为“答案数”;
  • 我想到使用Redis的订阅发布模式是用来解决推送问题的~。对于概念性的叙述,多多少少还是要提一下的:什么是Redis发布订阅?Redis发布
  • 在正式的进入主题之前,我们先来了解下深拷贝和前拷贝的概念:浅拷贝:会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝,如果属性是基本
  • 最近在读刘增辉老师所著的《MyBatis从入门到精通》一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不
  • 一、利用word生成一个文档转成pdf说明:转换成pdf格式二、Abobe Acrobat DC图解利用Abobe Acrobat DC打开
  • 在需要线程同步的时候如何选择合适的线程锁?例:选择可以存入到常量池当中的对象,String对象等public class SyncTest{
  • 事务介绍一个事务要么同时成功,要么同时失败特性Atomic原子性 事务是由一个或多个活动组成的一个工作单元。原子性确保事务中的所有操作全部发
  • SqlssionFactory1.SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像
  • 因为公司业务需要,需要把性能日志和业务日志分开打印,用elk收集处理,所以需要对不同的业务的日志,打印到不同文件。使用的是spring bo
  • 主要区别在于是否延迟加载。load方法不会立即访问数据库,当试图加载的记录不存在时,load方法返回一个未初始化的代理对象。get方法总是立
  • 前言Go 语言比 Java 语言性能优越的一个原因,就是轻量级线程Goroutines(协程Coroutine)。本篇文章深入分析下 Jav
  • 条形码,是由宽度不等的多个黑条和空白所组成,用以表达一组信息的图形标识符。通过给文档添加条形码,可以直观,快捷地访问和分享一些重要的信息。本
  • 找了很久查询objectid的方法都是错的,用mongovue能查询出来,但就是用java不知道怎么查询1.mongovue里的查询方式:{
  • jvm虚拟机栈的作用jvm虚拟机栈栈帧的组成jvm虚拟机栈,也叫java栈,它由一个个的栈帧组成,而栈帖由以下几个部分组成局部变量表-存储方
  • 本地仓库是指存在于我们本机的仓库,在我们加入依赖时候,首先会跑到我们的本地仓库去找,如果找不到则会跑到远程仓库中去找。对于依赖的包大家可以从
  • 场景日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的
  • StringRedisTemplate与RedisTemplate区别点两者的关系是StringRedisTemplate继承RedisTe
  • 指定委托那些办理者处理任务节点,也就是只有此办理者才有操作此节点的操作权限1、直接指定流程图配置实现:在流程图属性栏设置Assignee属性
手机版 软件编程 asp之家 www.aspxhome.com