首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改多个DataGridView HeaderText值的速度很慢

更改多个DataGridView HeaderText值的速度很慢
EN

Stack Overflow用户
提问于 2017-02-03 06:15:48
回答 1查看 242关注 0票数 0

在将数据网格视图绑定到数据源之后,我需要将12列的列标题更改为用户友好的值,并使它们成为只读的。

代码语言:javascript
复制
Grid.Columns["columnname"].HeaderText = "Column Name";
Grid.Columns["Client"].ReadOnly = true;

当网格包含大型数据集(10,000+记录)时,刷新网格所需的时间会有明显的延迟。检索数据所需的时间为亚秒级。更改12列headertext值并在其他几个列上设置ReadOnly = True的函数花费了大约3-4倍的时间,并使1个内核的CPU使用率达到100%。

在较小的数据集上,重命名过程花费的时间可以忽略不计,因此它明显依赖于数据集的大小。

所有列/行自动调整大小属性都已关闭。DataGridView.SuspendLayout()函数可节省10毫秒。DoubleBuffering节省了10毫秒。

代码会在后台做什么,占用了如此多的处理器能力?每次更改这些属性时,它都会重新绘制整个网格吗?有没有办法只重画一次?

EN

回答 1

Stack Overflow用户

发布于 2018-09-06 02:36:06

行/列header自动调整大小有单独的属性。将这些设置为AutoSize也会减慢重绘速度。

代码语言:javascript
复制
Grid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
Grid.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.EnableResizing;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42013326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档