严重影响DataGridView性能的2个属性

转载 2012年03月30日 16:20:59

前段时间写一段一个数据处理的东西,需要绑定一张DataTable到网格控件(我从DataGridView 继承),运行后发现,速度超级慢, 我最开始是因为继承的原因,后面发现不是,最后终于在*.Designer.cs找到了,原来我无意中在设计面板中改动了RowHeadersWidthSizeMode 属性 .

经过测试发现,RowHeadersWidthSizeMode属性和ColumnHeadersHeightSizeMode属性,非常影响,DataGridView的显示性能,DataGridView的数据绑定应该是迭代的,如果你把DataGridViewRowHeadersWidthSizeMode设置了AuToSize类型的属性,那么每设置一行就要进行一次对HeaderWidth的调整,那么对于N行的表就将进行N!次操作,再加上列的情况,这种性能损失将是巨大的.

如果一定需要控件自动调整宽度,可以先把DataGridViewColumnHeadersHeightSizeMode或DataGridViewRowHeadersWidthSizeMode设置为DisableResizing或EnableResizing,设置了DataSouce属性后在将他改为AutoSize.

DataGridViewColumnHeadersHeightSizeMode

  成员名称 说明
  AutoSize 列标题的高度根据所有列标题单元格的内容进行调整。  
  DisableResizing 用户不能使用鼠标调整列标题的高度。 
  EnableResizing 用户可以使用鼠标调整列标题的高度。 

DataGridViewRowHeadersWidthSizeMode:

  成员名称 说明
  AutoSizeToAllHeaders 为适应所有行标头单元格的内容大小而进行的行标头宽度调整。  
  AutoSizeToDisplayedHeaders 为适应当前显示的行中所有行标头的内容大小而进行的行标头宽度调整。  
  AutoSizeToFirstHeader 为适应第一个行标头的内容大小而进行的行标头宽度调整。 
  DisableResizing 用户不能使用鼠标调整列标头的宽度。 
  EnableResizing 用户可以使用鼠标调整列标头的宽度。 


在Android中使用反射到底有多慢?

在Android中使用反射到底有多慢? 反射(Reflection)在Java和安卓开发过程中非常有用,但是反射的使用往往是APP严重性能问题的根本原因。下面我们通过分析几个真实的案例来帮助我们更直...
  • wangjigaoyi
  • wangjigaoyi
  • 2016年07月15日 09:15
  • 2657

主频和架构哪个对CPU性能的影响更重要

主频和架构对CPU性能的影响同样重要,不能够割裂这两个因素来评估CPU的性能。 主频很容易理解,类似于速度,对于同一种架构的CPU,当然是主频越高CPU的速度就越快。 但是,如果CPU的架构不一样...
  • charleslei
  • charleslei
  • 2016年09月28日 23:00
  • 1429

SQL语句中where 1=1 对性能的影响,where 与having的区别,where子句的性能

1,where 1=1 对性能的影响 很多时候,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失,因为添加使用了 “where 1=1 ”的过滤条件以后数据库...
  • fangyuylc
  • fangyuylc
  • 2016年02月25日 15:02
  • 2874

关注性能: 引用对象(对象引用是怎样严重影响垃圾收集器的)

如果您认为 Java 游戏开发人员是 Java 编程世界的一级方程式赛车手,那么您就会明白为什么他们会如此地重视程序的性能。 游戏开发人员几乎每天都要面对的性能问题,往往超过了一般程序员考虑问题的范围...
  • oceanZhao
  • oceanZhao
  • 2011年09月02日 18:05
  • 342

在高并发的情况下小小的日志打印会严重影响到性能。

程序的性能与日志的输出内容及输出到控制台、文件的格式有非常重要的影响。下面将给大家讲解是怎么影响的。...
  • Mr_Smile2014
  • Mr_Smile2014
  • 2016年09月01日 16:03
  • 5865

protobuf中会严重影响时间和空间损耗的地方

原文:http://blog.chinaunix.net/uid-26922071-id-3723751.html 当前项目中普遍用到GOOGLE 的一个开源大作PROTOBUF,把它作为网...
  • yang3wei
  • yang3wei
  • 2015年06月04日 13:50
  • 1085

dbms_spm之baseline FIXED=YES使用陷阱(执行计划不通用),严重影响系统;

--aiki下创建一实体表T1 SQL> create table t1 as select * from dba_objects where object_id is not null; Tabl...
  • launch_225
  • launch_225
  • 2014年06月12日 22:30
  • 1820

几大知名流量统计网站的统计脚本中相继植入广告代码的现象,严重影响上网体验

近段时间浏览网页时总是实然网页开始播放视频的声音,一开始以为是宽带服务商又强制推送广告或电脑中毒了,经过对源代码的分析发现是流量统计代码中植入了广告代码,最近非常影响网页浏览体验的是百度统计插入的视频...
  • qwishes
  • qwishes
  • 2016年04月28日 16:15
  • 609

5个严重影响用户体验的设计问题

要使产品被用户接受而且乐于使用,需要满足的条件不少。你需要知道产品服务的目标人群是哪些,他们有什么问题需要解决,你的产品提供的解决之道和他们现在采用的方法相比有哪些优势,你需要怎样引导和帮助他们,等等...
  • dlfeicui
  • dlfeicui
  • 2018年01月12日 16:09
  • 5

深圳联嵌科技推荐:10个小习惯严重影响健康

深圳联嵌科技推荐:10个小习惯严重影响健康       深圳市联嵌科技有限公司成立于2013年,前身为深圳市三叶草电子科技有限公司。主营业务为基于ARM平台的linux、Android设备的技术...
  • linkembed
  • linkembed
  • 2014年09月06日 14:39
  • 930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:严重影响DataGridView性能的2个属性
举报原因:
原因补充:

(最多只允许输入30个字)